D-Linkがファームウェアソースコードを提供する方法

Habrcansへのご挨拶!

職場では、 2005 - 2006年に製造され、最後の管理者から継承された古いD-Link DI-524UP H / W Ver .: A1ルーターがあります。 これらのデバイスが目的を果たしており、道徳的にも物理的にも時代遅れであり、長い間棚に置かれていることは明らかですが、このモデルにはUSBポートがあり、オペレーティングシステムはLinuxオペレーティングシステムに基づいています。

残念ながら、ストックファームウェアの開発者は、 USBポートで動作する能力をほとんど制限していました。DI-524UPは、USBモデム、フラッシュドライブ、および外付けHDDでは動作しませんDI-524UP-Realtek RTL8650Bと同じプロセッサー上のデバイスには OpenWRTDD-WRTなど、より機能的で最新の代替ファームウェアが存在しますが、 Wi-Fi RTL8185Lを担当するチップはサポートしていません。 ワイヤレスインターネットを放棄する見込みは私には適さずRTL8185Lサポートの追加とハードウェア用のDD-WRTまたはOpenWRTの完全なコンパイルに対処することは非常に困難に思えました。

機能を追加し、個別のソフトウェアパッケージをコンパイルしてインストールし、デバイスに十分なメモリがあり、カーネルを再構築し、 USBポートに必要なハードウェアサポートを有効にすることで、ストックファームウェアを少し修正してみるといいと思いました。

2013年の終わりに、Dリンクルーターの一部のモデルでセキュリティの脆弱性が発見されました。これは、攻撃者がデバイスを制御できるソフトウェアタブです。 詳細について 、Habrで既に説明しました。 当然、2007年11月15日付けの以前のファームウェアバージョンv.1.05および20083月25日以前のソースコードには、このタブがあります。

2013年後半の騒動の後、 D-Linkは、この脆弱性が解決されたDI-524UP Axバージョンv1.08b1およびv1.08b2のファームウェアアップデートをリリースしました。 製造元は、これらのファームウェアのソースコードを公開して公開していません。

なぜなら デバイスのファームウェアはLinuxカーネルとフリーソフトウェアに基づいているため、 GPLの条件に基づき、開発者は他の人の要求に応じてソースコードを提供する必要があります。 メーカーのフォーラムでファームウェアv1.08のソースコードをリクエストしました。 しばらくして、ファームウェアv1.08b2のソースコードへのリンクが表示されました。

アーカイブをダウンロードして解凍した後、バージョンv1.05v.1.08のソースコードをファイルごとに比較することにしました 。 得られた結果は私を少し困惑させました。 見つかった違いは、以下のネタバレの下にリストされています。

ファームウェアバージョンv1.05およびv1.08b2のソースコードのアーカイブの内容の違い
diff -r ./1.05/GPL_Di524up/ ./1.08/GPL_Di524up/
./1.08/GPL_Di524up/: D-Link
./1.08/GPL_Di524up/: GPL
./1.08/GPL_Di524up/: Offer
./1.08/GPL_Di524up/user/goahead-2.1.4: original
diff -r ./1.05/GPL_Di524up/vendors/Realtek/Di524up/Product.mk ./1.08/GPL_Di524up/vendors/Realtek/Di524up/Product.mk
1,2c1,2
< VERSIONPKG = v1.01
< ALPHA_VERSION = v4.0.0b10
---
> VERSIONPKG = v1.08
> ALPHA_VERSION = v5.0.1b02
./1.08/GPL_Di524up/: Written

mips-toolchain:/opt/_compare# ls -la ./1.08/GPL_Di524up/D-Link ./1.08/GPL_Di524up/GPL ./1.08/GPL_Di524up/Offer ./1.08/GPL_Di524up/user/goahead-2.1.4/original ./1.08/GPL_Di524up/Written
-rw-r--r-- 1 root root 0 2014-08-07 12:11 ./1.08/GPL_Di524up/D-Link
-rw-r--r-- 1 root root 0 2014-08-07 12:11 ./1.08/GPL_Di524up/GPL
-rw-r--r-- 1 root root 0 2014-08-07 12:11 ./1.08/GPL_Di524up/Offer
-rw-r--r-- 1 root root 0 2014-08-07 12:11 ./1.08/GPL_Di524up/user/goahead-2.1.4/original
-rw-r--r-- 1 root root 0 2014-08-07 12:11 ./1.08/GPL_Di524up/Written

したがって、仲間の開発者は、ファームウェアのソースコードバージョン番号を 「だまし」、 v1.05(?1.01)からv.1.08b2にコピーし、最新バージョンとして偽装しようとしました。 これらの「操作」に関するD-linkの技術サポートについて質問しました。

UPD(2014年12月27日)バージョンv1.05のソースコードがサイトから削除され、パブリックドメインでこのバージョンv1.05のソースコードを復元する要求が送信されました。

UPD2(2014年1月19日) v1.01がv1.05の下に投稿されたように見えるため、上記のネタバレを見た場合、サイトから削除されました。
< VERSIONPKG = v1.01
< ALPHA_VERSION = v4.0.0b10
コードバージョンでは、宣言と一致しません。

継続するには...

Source: https://habr.com/ru/post/J236997/


All Articles