엑셀 필터 상태에서 복사와 잘라내기

이미지
잘라내기는 숨겨진 셀도 포함한다 마이크로소프트 엑셀(Microsoft Excel)로 데이터베이스 작업을 하다보면, 원하는 데이터만 보이도록 필터링을 한 다음, 다른 위치에 붙여넣기를 할 때가 있다. 그런데 필터라는 것이 불필요한 셀을 화면에 보이지 않게 숨기는 것이므로, 특정 범위를 선택할 경우 보이는 셀과 숨겨진 셀을 어떻게 처리하느냐에 따라 결과가 달라질 수 있다. 기본적으로 엑셀은 보이는 셀을 기준으로 작업을 한다. 그러나 수행하는 작업에 따라 달리 처리하기도 한다. 셀 단위로 범위를 선택할 때, 복사는 보이는 셀만을 포함하지만, 잘라내기는 숨겨진 셀까지 포함한다. 아래 예는 엑셀 2010과 오피스 온라인에서 수행한 것이다. 오피스 온라인은 마이크로소프트 계정만 있으면 무료로 사용할 수 있다. 기능은 상당히 제한적이지만 일반적인 작업에는 쓸 만하고, 항상 최신 버전으로 유지된다는 장점이 있다. 먼저 간단한 데이터베이스를 만들어 표(테이블) 삽입을 했다. 데이터베이스는 표로 만드는 것이 여러 모로 좋다. 여기서 서울에 사는 사람만 골라내서 별도의 시트로 만들려고 한다. 다음과 같이 필터를 적용했다. 여기서 표 전체를 선택하거나 셀 범위를 드래그해서 데이터를 '복사'한 다음, 새 시트에 붙여넣으면 다음과 같이 된다. 정확히 원하던 결과다. 그러나 표 전체를 선택하거나 셀 범위를 드래그해서 데이터를 '잘라내기'한 다음, 새 시트에 붙여넣으면 엉뚱한 결과를 낳는다. 범위 안에 있는 숨겨진 셀까지 이동된 것이다. 행 단위 선택은 숨겨진 행도 포함한다 위에선 셀 단위로 범위를 선택한 경우를 본 것이다. 그런데 엑셀에서 데이터베이스를 다룰 때는, 행 단위로 선택을 하는 것이 편할 때가 많다. 행 번호를 클릭하면 해당 행 전체가 선택된다. 행 단위로 범위를 선택하면, 그 안에 있는 숨겨진 행도 포함된다. 이때는 복사든 잘라내기든 마찬가지다. 위의 필터 적용된 데이터베이스에서 행 번호를 드래그해서, 행 단위로 범위를 선택한 후 '복사...

서명된 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 기기의 소프트웨어 업데이트는 거의 기대하기 어렵다. 현재로선 카메라나 마이크가 장착된 블루투스 기기, 페어링 과정이 허술한 기기는 사용하지 않을 땐 끄는 수 밖에 없겠다. 참고 자료 문자·연락처 빼간다…무선 이어폰 등 블루투스 ‘해킹 주의’