7월, 2020의 게시물 표시

서명된 PDF 문서를 해킹하는 Shadow Attack

전자 서명 우회해서 변조 문서에 전자 서명(디지털 서명)을 하는 것은 작성자를 확인하고, 서명 이후 변경되지 않았음을 보증하는 보안 수단이다. 그런데 서명된 PDF 문서의 내용을 바꿔치기할 수 있는 Shadow Attack이라는 공격 방법이 발견됐다. PDF 파일은 개체(object)들의 집합인 레이어(layer, 층)를 여러 개 쌓을 수 있는 다층 구조를 하고 있다. 그리고 전자 서명 됐더라도, 사용되지 않는 개체를 포함할 수 있다. 이런 구조적인 특징을 악용한 것이 섀도우 어택이다. 공격자는 정상적인 내용을 담은 레이어와 악의적인 내용의 레이어를 모두 포함한 PDF 문서를 만든 다음, 정상 레이어를 맨 위에 놓아 이것만 보이게 한다. 이를 피해자에 전달하면, 피해자는 정상 문서로 오인하고 전자 서명을 한다. 이를 다시 받은 공격자는 레이어 순서만 바꿔, 악의적인 레이어가 보이게 한 후, 다른 사람들에게 배포한다. 권한 있는 피해자를 이용해 악성 문서를 배포하는 것이다. 여기서 알 수 있듯이 Shadow Attack은 서명된 아무 PDF 문서나 변조할 수 있는 것은 아니다. 애초에 악의적인 레이어를 포함해서 만든 문서라야 가능하다. 예를 들어 어떤 기업에서 모금을 해서 복지 단체에 기부하려 한다. 악의적인 김 대리는 이를 횡령하려 맘 먹었다. 모금 계획서에 회사 계좌를 입금 계좌로 표시한 정상 레이어를 만들고, 그 밑에 자신의 계좌를 입금 계좌로 표시한 악성 레이어를 숨겨뒀다. 이 사실을 모르는 박 부장은 이 PDF 문서에 전자 서명을 해서 공신력을 부여한다. 무사히 결재를 받은 김 대리는 악성 레이어를 상위로 옮기고 직원들에게 보낸다. Shadow Attack을 개발한 독일 보훔 루르 대학의 연구팀은 28개의 주요 PDF 앱을 대상으로 실험했는데, 그 중 15개의 앱이 취약점을 갖고 있었다. 취약한 앱에는 Adobe Acrobat Pro, Adobe Acrobat Reader, Perfect PDF, Foxit Reader, PDFel

GoldenSpy & GoldenHelper, 중국 정부 소프트웨어에 악성코드

Trustwave는 중국의 세금 관련 소프트웨어에서 백도어를 발견했다. 중국에서 사업을 하는 글로벌 기업들을 노린 것으로 추측됐다. GoldenHelper는 Golden Tax라는 프로그램에서 발견됐다. 골든 택스는 명세서를 제출하고 부가세를 납부하기 위해 중국 정부에 의해 설치가 요구된다. 골든헬퍼는 2018.1월~2019.7월 사이에 유포됐다. GoldenSpy는 Intelligent Tax Software에 숨어 있었다. 이 프로그램은 중국의 은행들과 거래를 하기 위해서 설치가 요구된다. 골든스파이는 2020.4월부터 유포되기 시작했다. 중국 정부와 은행들에 의해 필수적으로 설치가 요구되는 이들 세금 프로그램은 정상적으로 작동한다. 그러나 한편으로 시스템을 완전히 장악할 수 있는 백도어를 몰래 설치한다. GoldenSpy와 GoldenHelper는 원격의 해커가 임의의 코드를 실행하고, 추가 악성코드를 설치할 수 있다. 사용자의 허락은 필요없다(UAC bypass). 악성 파일의 이름을 무작위하게 생성하고, 파일의 타임 스탬프(만든 날짜와 수정한 날짜)를 임의로 수정해서(timestomping) 탐지를 어렵게 한다. 골든스파이와 골든헬퍼 작전에서는 Aisino라는 소프트웨어 회사가 중심 역할을 했다. 중국에서 사업을 하기 위해서는 이들 세금 프로그램을 반드시 설치해야 하기 때문에 완전히 피하기는 어렵다. Trustwave는 잠재적으로 해킹의 통로가 될 수 있는 프로그램을 설치한 기기는 네트워크에서 고립시키고, 면밀하게 감시하라고 권고했다. 참고 자료 New GoldenHelper malware found in official Chinese tax software

SIGRed, Windows DNS Server 취약점

CVE-2020-1350 2020.7.14일 마이크로소프트는 Windows DNS Server의 고위험 취약점을 패치했다. SIGRed라고 하는데, 윈도우 서버 버전 2003부터 2019까지 해당된다. 거의 20년 가까이 숨어 있던 것이다. 이는 DNS 서버로 설정된 윈도우 서버가 요청을 잘못 처리하는 데 있다. 악용에 성공하면 원격의 해커는 임의의 코드를 실행할 수 있다. 해커는 별도의 인증 절차 없이, 악의적인 요청을 보내기만 하면 된다. SIGRed는 DNS 프로토콜의 문제가 아니라, 마이크로소프트 윈도우 서버가 이를 구현하는 과정에서 생긴 취약점이다. 따라서 다른 DNS 서버는 문제가 없다. DNS server의 취약점은 상당히 심각한 문제로 평가된다. 직접적으로는 DNS hijacking으로 사용자를 가짜 사이트로 보내버릴 수 있다. 더 나아가 DNS 서버는 조직 네트워크의 핵심 역할을 하므로, 전체 네트워크를 공격할 수 있는 거점이 될 수 있다. wormable SIGRed가 CVSS 스코어 10점 만점을 받은 것은 악용이 쉬운 데다 wormable, 즉 악성코드가 사용자의 상호작용 없이 자동으로 퍼져나갈 수 있기 때문이다. 게다가 같은 네트워크에 있지 않은 Windows DNS Server도 공격할 수 있다. DNS(Domain Name System)는 탈중앙화된 계층 구조(hierarchical and decentralized)로 돼 있다. 어떤 DNS 서버가 요청에 대한 정보를 갖고 있지 않으면, 상위의 DNS 서버에 그 요청을 전달한다. 모든 정보를 갖고 있는 최상위의 DNS 서버를 root DNS server라 하는데, 전세계에 13개 서버군(대략 1,000 여 대)으로 이루어져 있다. 이때 Windows DNS Server는 DNS 정보를 TCP 연결을 통해서도 전송할 수 있기 때문에, 다른 네트워크 상의 Windows DNS Server도 공격할 수 있는 것이다. 관련 자료 Sea Turtle, 고도

트위터 대규모 해킹

2020.7.15일 유력한(high profie) 트위터(Twitter) 계정 다수가 동시에 해킹된 사건이 발생했다. 정치가인 버락 오바마, 조 바이든, IT 분야의 거물들인 제프 베조스, 빌 게이츠, 엘론 머스크 등과 우버, 애플 등 대기업의 공식 계정들이 포함됐다. 이번 해킹은 가상화폐를 노린 것이었다. 해킹한 계정을 통해, 해커의 가상화폐 주소로 소액의 가상화폐를 송금하면 더 많이 돌려준다는 사기 트윗을 날린 것이다. 상식적으로 말이 안되는 내용이지만, 워낙 신뢰도가 높은 계정들을 동원한 탓에 실제로 많은 피해자가 발생했다. 해커는 이들 계정에 등록된 이메일 주소도 변경해서, 계정 복구를 어렵게 했다. 유명인의 SNS 계정을 해킹할 경우 돈을 노린 사기는 물론, 가짜 뉴스를 퍼뜨려 사회 혼란을 야기할 수도 있다는 우려가 나오고 있다. 이번 트위터 해킹은 이전에 종종 있었던, 개별적인 계정을 탈취하는 것과는 다른 방식이다. 트위터 측은 이를 직원들에 대한 조직적인 사회공학적 공격(coordinated social engineering attack against internal employees)이라고 표현했다. 가입자 계정에 접근할 수 있는 관리자 권한을 가진 내부 직원들의 계정을 스피어 피싱(spear phishing)으로 해킹한 것이다. 사실상 트위터 서비스 자체를 해킹한 것으로 볼 수 있다. 해킹당한 계정들은 대부분 강력한 암호와 2단계 인증으로 무장하고 있었지만, 아무 소용이 없었다. 비슷한 사례는 2019년 초에도 있었다. 마이크로소프트의 이메일 서비스인 아웃룩(Outlook) 일부 계정이 직원 계정 해킹을 통해 해킹돼, 심한 경우 메일 내용까지도 노출이 된 적이 있었다. 관련 자료 Outlook 메일 관련 일부 정보 노출 참고 자료 Several High-Profile Accounts Hacked in the Biggest Twitter Hack of All Time

블루투스 BIAS 취약점, Bluetooth Impersonation AttackS

페어링된 기기로 위장 2020.5.19일 로잔 연방 공대(École Polytechnique Fédérale de Lausanne, EPFL)의 연구팀은 BIAS(Bluetooth Impersonation AttackS)라는 블루투스의 해킹 취약점을 공개했다. BIAS는 Bluetooth Classic(BR/EDR), 즉 BHS(Bluetooth High Speed)와 BLE(Bluetooth Low Energy)를 제외한 일반적인 블루투스 규격에 해당된다. 블루투스 클래식 규격의 취약점으로 인해, 해커는 이미 보안 연결로 페어링된 임의의 기기로 위장할 수 있다. 예를 들어 내가 블루투스 이어폰과 마우스를 사용하고 있다면, 해커가 자신의 기기로 내 이어폰처럼 통화를 하거나 주변 소리를 몰래 녹음하고, 마우스 입력을 할 수 있다. EPFL은 다양한 브랜드의 스마트폰, 노트북, 이어폰 등 30여 기기를 대상으로 테스트했는데, 모두 취약했다. BIAS 취약점은 2019.12월에 블루투스 표준의 개발을 담당하고 있는 Bluetooth SIG에 통보됐다. Bluetooth SIG는 취약점을 인정하고 다음번 규격 개정 시에 반영하기로 했다. 현재로선 대부분의 블루투스 클래식 기기가 위험하다고 볼 수 있다. BIAS를 수행하려면 먼저 블루투스 신호 범위 내에 있어야 한다. 표적 기기는 이미 정상적으로 페어링돼 있어야 하며, 해커는 그것의 블루투스 주소를 알아야 한다. 특정인을 노리고 있다면 어려울 것 없는 조건이다. 블루투스 보안 연결의 핵심은 long term key, 흔히 link key라고 하는 암호화 키에 있다. 처음 기기를 페어링하면 롱텀키가 만들어진다. 이렇게 한번 등록된 기기는 다음에 사용할 땐 전원만 켜면 자동 연결되는 등 간단히 연결할 수 있다. 문제는 블루투스 클래식이 롱텀키를 허술하게 취급해서, 해커는 롱텀키가 없어도, 표적의 블루투스 주소로 위장할 수 있다는 것이다. 그래서 표적 기기(예컨대 이어폰)에 페어링돼 있는 최종 표적

블루투스 이어폰 해킹해 도청

2020.6.9일 KBS 뉴스에서 Bluetooth 이어폰을 해킹해 도청 및 정보 탈취가 가능하다는 보도가 나왔다. 무선 이어폰을 해킹해 통화 상태로 바꾸고, 그 마이크를 이용해 주변 소리를 몰래 해커의 PC에 녹음한다는 것이다. 차량 핸즈프리의 경우에는 도청은 물론, 연결된 스마트폰의 연락처나 통화 기록 같은 정보 탈취도 가능하다고 했다. 내 생각에는 이것은 본격적인 해킹이라기 보다는 블루투스 페어링의 취약점을 이용한 무단 연결로 보인다. 그것도 블루투스 표준의 문제가 아니라, 각 기기에 구현하는 과정에서 보안에 대한 고려가 부족했던 것으로 보인다. PC나 스마트폰에 블루투스 페어링을 할 때는 서로간에 동일한 PIN이 나타나는지 확인하는 절차가 있다. 양 쪽에서 모두 확인을 해야 등록이 가능하다. 주변에 있는 몇몇 기기로 테스트해 본 결과, 여타 IOT 기기는 기기에 따라 달랐다. 블루투스 마우스는 항상 페어링 요청을 받아들이는 것이 아니라, 버튼 조작을 통해 페어링 모드로 바꾼 상태에서만 등록이 가능했다. 반면 블루투스 스피커나 이어폰은 별다른 제약 없이 아무 PC나 스마트폰 쪽에서 일방적으로 페어링이 가능했다. 이런 허술함 때문에 뉴스와 같은 해킹이 가능하다. 실제로 해 보니까 블루투스를 지원하는 녹음기 앱 하나만 있으면, 옆 방에 있는 스피커를 통해 몰래 녹음이 가능했다. 많은 블루투스 스피커들이 핸즈프리 통화 기능을 제공하고 이를 위해 마이크를 갖고 있다. IOT 기기의 소프트웨어 업데이트는 거의 기대하기 어렵다. 현재로선 카메라나 마이크가 장착된 블루투스 기기, 페어링 과정이 허술한 기기는 사용하지 않을 땐 끄는 수 밖에 없겠다. 참고 자료 문자·연락처 빼간다…무선 이어폰 등 블루투스 ‘해킹 주의’

Ripple20, Treck TCP/IP 취약점

CVE-2020-11896, 11897 2020.6.16일, 보안회사 JSOF는 Ripple20이라는 19개의 제로데이 취약점을 공개했다. 리플20은 Treck사의 TCP/IP 소프트웨어 라이브러리에서 발견됐다. 트렉의 TCP/IP 라이브러리는 지난 20여 년 동안 광범위한 IOT 기기에 사용됐다. 가정용 스마트기기, 네트워크 장치, 의료 장비, 산업용 제어 장치, 인프라 설비 등 거의 모든 분야에 걸쳐있으며, HP, Intel, 캐터필러, 슈나이더 등 대기업 브랜드도 많이 포함됐다. 총 수 억 대 이상의 기기가 영향권에 있는 것으로 추정됐다. 19개의 취약점 중에는 원격코드 실행을 가능케 하는 것들도 있다. 그것도 안정적으로. 해킹 성공 확률이 높은 위험한 것이다. CVE-2020-11896은 IPv4에 있는 원격코드 실행 취약점이다. 표적에 다량의 잘못된 IPv4 패킷을 보내서 악용할 수 있다. CVE-2020-11897은 IPv6에 있는 원격코드 실행 취약점이다. 표적에 다량의 잘못된 IPv6 패킷을 보냄으로써 촉발된다. 간단한 예로는 프린터에서 데이터를 탈취하고, 의약품 주입 펌프의 작동을 조작하고, 산업용 제어 기기에 오작동을 일으키는 것 등을 들 수 있다. 내부 네트워크로 침투하는 발판이 될 수도 있다. Treck은 2020.3.30일까지 모든 취약점을 수정했다. 그러나 최종적으로는 각 IOT 기기 제조사에서 이를 적용해야 하는데, 현실적으로 IOT 기기의 업데이트는 잘 되지 않는다. 이 점을 고려해 JSOF는 여러 가지 임시 대응책을 제시했다. 그 중에 가장 중요한 것은 IOT 기기를 인터넷에 직접 노출시키지 말라는 것과 망 분리를 하라는 것이다. IOT 기기를 인터넷에 직접 노출시키지 말라는 것은 방화벽이나 VPN 등을 통해 연결하라는 것이다. 이 점은 UPnP 해킹, NAS 해킹, 프린터 해킹, RDP 해킹 등의 사례에서 이미 본 것처럼, 네트워크 보안에서 가장 기본적인 수칙이다. 사실 가정에서는 공유기, 기업 환경에서

CallStranger, UPnP 취약점

CVE-2020-12695 2020.6.8일, UPnP(Universal Plug and Play) stack의 새로운 취약점이 공개됐다. Yunus Çadirci가 발견했으며, CallStranger라고 불린다. 콜스트레인저는 데이터 탈취, 봇넷에 편입시켜 DDoS 공격에 동원, 내부 네트워크 탐색 등에 악용될 수 있다. 이 중에서 데이터 탈취가 가장 큰 위험으로 지목됐다. UPnP 기능은 네트워크 상의 기기들을 자동으로 발견하고 상호작용을 할 수 있게 해준다. 애초에 신뢰할 수 있는 내부 네트워크에서 사용하는 목적으로 개발된 것이기 때문에, 인증이나 검증 같은 보안 절차가 없다. 따라서 해킹에 취약하고 실제로 많이 악용되고 있다. 카네기 멜론 대학의 보안 협력 센터에서는, UPnP는 인터넷을 통해 즉 내부 네트워크를 넘어서는 이용할 수 없어야 한다고 강조했다. 그러나 현실은 간단한 쇼단(Shodan) 검색만으로도 인터넷에 노출된 5백만 대 이상의 기기를 발견할 수 있다고 한다. 소프트웨어에 취약점이 있거나 잘못 설정된 경우가 많다는 얘기다. UPnP 스택의 개발을 담당하고 있는 OCF(Open Connectivity Foundation)은 이에 대한 패치를 2020,4,17일에 배포했다. 따라서 그 이전 버전의 UPnP는 모두 취약하다. 영향권에 있는 기기는 PC를 비롯해 라우터(공유기), 프린터, 게임기, 카메라, TV, 미디어 장치 등 광범위한 IOT 기기들이다. 소프트웨어 업데이트가 근본적인 해결책이지만, 많은 IOT 기기들은 업데이트를 기대하기 어렵다. 이를 고려해 Yunus는 다음과 같은 임시 대응책을 제시했다. 인터넷에 직접 연결된 기기의 UPnP 기능은 가급적 끈다. UPnP 장치들이 데이터를 외부로 전송하지 못하도록 네트워크 설정을 한다. 취약점이 이미 악용된 적은 없는지 네트워크 보안 로그를 검토한다. 인터넷 사업자나 네트워크 보안 업체에 UPnP 트래픽을 차단할 수 있는지 문의한다. 가정에서는 공유기의 U