
버팔로 LS210D 버전 1.78-0.03의 펌웨어 업데이트 서버 검증 취약점
Christopher J. Pace 및 Ryan Miller
Buffalo LS210D는 소규모 기업과 개인을 대상으로 설계 및 판매되는 NAS(Network Attached Storage) 서버입니다. LS210D에는 원격으로 펌웨어 업데이트를 다운로드하고 설치하는 기능이 내장되어 있습니다. LS210D는 이 기능 내에서 "중간자 공격(AitM)"에 취약합니다. 피해자의 업스트림 연결을 제어하는 공격자는 업데이트 서버에 대한 잘못된 DNS 이름을 제공하거나 업데이트 서버의 트래픽을 악성 서버로 리디렉션할 수 있습니다. 이로 인해 루트 사용자로 명령이 실행되거나 악성코드가 직접 설치될 수 있습니다.
파일 /etc/init.d/update_notifications.sh는 /www/buffalo/www/dynamic/system/update/BufUpdate.pm에 있는 펌웨어 업그레이드 서버 측 스크립트에서 호출됩니다. update_notifications.sh 내부에는 다음 줄이 있습니다:

이 xml 파일을 열어보면 XML 파일 자체도 HTTP 전용 연결을 가리키고 있음을 알 수 있습니다:

또한 이 zip 파일은 암호화되어 있지 않습니다. 이 모델에 대한 이전 연구를 통해 수동 펌웨어 업데이트 유틸리티를 다운로드할 수 있었으며, 여기에는 비밀번호로 보호된 zip 파일이 포함되어 있었습니다. linkstation_series_1.75-0.01.zip 파일에는 이러한 보호 기능이 없습니다. 아카이브 내에는 hddrootfs.buffalo.updated 파일이 있으며, 이 파일에는 LS120D의 루트 파일 시스템이 포함된 hddrootfs.buffalo 아카이브가 들어 있습니다. 공격자는 이 zip 파일을 직접 보고 수정하여 자신의 악성코드를 포함시키거나 민감한 파일을 읽을 수 있습니다.

공격자가 AitM 공격을 수행하면 라우터는 업데이트된 펌웨어 설치를 기꺼이 제안합니다. 다음은 이러한 공격의 예로, 오른쪽 화면에는 fw_info2.xml에 필요한 수정 사항, 즉 productId 태그에 0x0000001D를 추가하고 version 유형 태그를 피해자의 펌웨어 버전(이 경우 1.78-0.04)보다 높은 버전으로 증가시키는 방법이 표시되어 있습니다.

