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





コードバージョンでは、宣言と一致しません。



継続するには...



参照資料
D-Linkの公式Webサイトにあるデバイスの説明。

WikiDevi上のデバイスの説明。

デバイスのファームウェアを備えたさまざまなFTPサーバー

ftp://ftp.dlink.eu

ftp://ftp.dlink.ru

ftp://ftp2.dlink.com

GPLについて

D-link DI-524UPの公式ソースコード

脆弱性の説明。

この脆弱性を修正するための公式の推奨事項は、ファームウェアをバージョンv1.08b2に更新することです。

デバイスのファームウェアの選択をまとめたFTP

私のフォーラム投稿Dリンク

パート1 パート2




All Articles