1. 모바일 보안
1) 모바일 통신, 셀룰러 통신
– 모바일(mobile) 통신 : 무선을 이용하여 가입자가 이동 상태에서도 상대방과 교신을 할 수 있게 하는 것
–셀룰러(Cellular) 통신 : 한 지역의 가입자들을 셀(cell)이라 부르는 동일 중심 주파수를 사용하는 통화 존(zone)으로 구분, 각 zone의 중심에 기지국(Base station)을 설치하고 이 셀에 소속된 가입자는 셀의 기지국을 통해서 다른 셀의 가입자와 통신하는 방식
2) iOS
– 아이폰, 아이패드 및 아이팟 터치 등의 모바일 기기의 운영체제
– 다윈(Darwin) 커널 기반
• 다윈 커널: 애플에서 2000년에 만든 오픈소스 기반의 유닉스 운영체제
– 다윈 커널을 기반으로 iOS 및 OS X 개발함
– iOS 자체는 소스코드가 공개되어 있지 않는 폐쇄형 구조
• 보안에 대한 기본적인 통제권을 애플이 소유하고 있음
– iOS App
• 까다로운 앱 스토어 심사
- 앱 업데이트가 안드로이드에 비해 오래 걸림
- 악성코드와 같은 위협에 비교적 안전
• 기업 내부용 앱을 개발하는 경우
- 별도의 기업용 인증서를 이용
- URL 등을 통해 직접 배포가 가능
– 보안상 취약점은 주로 jailbreak한 iOS 기기에서 발생
• Jailbreak: 샌드박스(sandbox) 탈출
>> 샌드박스: 외부로부터 들어온 프로그램이 보호된 영역에서 동작해 시스템이 악성코드 등에 의해 부정하게 조작되는 것을 막는 보안 환경
- 애플이 공식적으로 지원하지 않는 기능을 사용하기 위함
- 일반적으로 iOS 내부의 시스템 파일 및 응용 프로그램 파일에 대한 접근 및 외부관리 인터페이스가 포함됨
3) Android
– 리눅스 커널 기반
– 소스코드가 공개된 개방형 운영체제
– Android App
• 구글 플레이스토어 또는 통신사가 제공하는 앱 스토어에 등록하여 배포 가능
• 앱 스토어에 등록하지 않고 자체 홈페이지 등을 통해 직접 배포하는 것도 가능
• 장점: 앱 배포가 편리
• 단점: 악성코드와 같은 보안 이슈에 다소 취약
– iOS에 비해 훨씬 자유로운 OS로 각종 바이러스와 악성코드가 유포됨
– 일반 계정으로 동작하며 iOS의 jailbreak와 유사한 개념으로 rooting 가능
4) 모바일 보안 위협
① 악성코드
• 모바일에 악성코드가 설치되면 모바일 기기의 특성으로 피해가 더 치명적일 수 있음
- 언제나 항상 켜져 있는 상태로 네트워크에 연결
- 사용자의 사생활과 밀접
• 악성코드에 감염되는 주요 경로
- 유용한 software로 위장하여 온라인 마켓을 통해 악성코드 유포
- 이동 저장장치
>> 메모리 카드
>> PC와 스마트폰의 직접 연결을 통한 상호감염
- 테더링(Tethering) 사용자 증가에 따른 감염
- 웹 브라우저 취약점
② 플랫폼 해킹
• 제조사에서 배포하는 단말기 운영체제의 최고 관리자 권한을 획득하는 것
– 안드로이드: 루팅(rooting)
>> 최고 관리자인 루트(root) 계정 획득
– iOS: 탈옥 (jailbreak)
>> 애플의 샌드박스를 탈출한다는 의미
• 플랫폼 해킹 도구에 악성코드를 삽입하여 배포 가능
③ 앱 위변조 공격
• 대부분 안드로이드 계열 단말기 대상
- 안드로이드 앱의 경우 악성코드를 추가하여 리컴파일(recompile) 가능
• 보안 위협 시나리오
- 기존 앱을 변조하거나 가짜 앱을 제작∙배포하여 설치한 사용자의 정보를 탈취
- 보안 인증 과정을 우회하거나 임의의 기능을 호출하여 비정상적인 프로세스 실행
• 안드로이드 악성코드 중 86%가 앱 위변조에 의한 악성코드
④ 역공학(Reverse Engineering)
• 프로그램의 컴파일된 코드를 디컴파일(decompile)하고 소스코드를 복원하여 분석
• 앱의 중요 로직을 분석하거나 소스코드에 포함된 앱 개발사의 정보를 획득하여 2차 공격에 활용
⑤ 입력값 탈취
• 일반적으로 사용자가 입력하는 정보의 민감도가 매우 높음
• 사용자가 터치한 좌표 값으로 키 정보를 획득하거나 스크린 캡처 등을 통해 사용자가 입력한 비밀번호 유출 가능
⑥ 메모리 해킹
• 실행 중인 프로그램의 메모리에 있는 계좌번호, 금액을 변조하여 서버로 전송하거나 사용자가 입력한 비밀번호를 탈취하는 것
• 인터넷 뱅킹 이용 시 악성 코드가 브라우저의 메모리에 접근하여 변조 및 탈취
5) 모바일 보안 위협에 대한 대응 방안
① 백신
• 기기에 악성 앱이 설치되어 있는지 검사하여 악성 앱이 존재하는 경우 서비스를 중단하고 악성 앱을 삭제(주로 안드로이드)
② 플랫폼 해킹 탐지
• 제조사에서 배포된 순정 운영체제를 사용자가 임의로 변조하여 관리자 권한을 획득하였는지 검사하고 순정 상태가 아닌 경우 앱 실행을 종료
③ 앱 보호
• 역공학 방지
- 배포되는 앱의 난독화 또는 실행 압축, 코드 분리와 같이 소스코드를 쉽게 알아보지 못하도록 변형을 가하여 분석을 지연시키는 방법
» 대표적인 난독화 도구: 구글에서 제공하는 프로가드(Proguard) 등
- 앱 실행 환경을 탐지하여 역공학 환경이 탐지되는 경우 실행을 차단하는 보안 기능을 추가하는 방법
• 앱 위변조 방지
- 모바일 애플리케이션의 위변조를 방지하기 위한 보안 기능
- 배포되는 모바일 앱 설치 파일의 무결성 검증값을 생성하고, 생성된 검증값의 유효성을 검증(해시 사용)
④ 기타
• 인증 보안
- 사용자의 고유한 생체 정보 이용
• 보안 키보드 제공
- 화면에 표시되는 키보드 버튼의 배열을 다르게 표시
>> 고정 좌표값을 탈취하여 입력값을 유추하는 것을 막음
- 입력값 암호화
>> 메모리 해킹 대응
- 보안 키보드가 동작하는 동안 화면 캡쳐 기능 제한
2. 블루투스(Bluetooth) 보안
1) 개요
– 근거리 무선 네트워크(WPAN: Wireless Personal Area Network)의 한 표준
– 1994년에 스웨덴의 통신 장비 제조사인 에릭슨이 최초로 개발
• 초기 스펙 작성 참여 회사(5개 회사): 에릭슨, 인텔, IBM, 노키아, 도시바
• 현재는 총 9개 회사가 관리: 마이크로소프트, 모토로라, 애플, 노르딕 세미컨덕터(Nordic Semiconductor) 추가
– 적용 범위
• 마우스, 키보드를 비롯해 휴대전화(스마트폰), 태블릿, 스피커 등에서 문자 정보 및 음성 정보를 주고 받는 목적
2) 보안 취약점
① 블루프린팅(Blueprinting)
• 블루투스 공격 장치의 검색 활동
- 블루투스 장치의 고유 주소: MAC 주소와 유사하게 앞의 3바이트는 제조사에 할당되고 뒤의 3바이트는 블루투스 장치별로 할당
• 블루투스 스캐닝 툴을 이용해서 인근에 존재하는 블루투스 장치를 스캔
- 블루투스 검색이 허용된 장치만 대상으로 스캔 가능
• 대응 방안
- 평상시에는 블루투스 검색 허용 옵션을 꺼두는 것
② 블루스나핑(Bluesnarfing)
• 블루투스의 취약점을 이용하여 블루투스 기기의 정보에 접근하는 공격
– 블루투스 장치간에 인증 없이 정보를 간편하게 주고받을 수 있는 OBEX Push Profile(OPP) 기능을 악용
– 블루투스 장치로부터 주소록 또는 달력 등의 내용을 요청하고 이를 열람하거나 보안적으로 취약한 임의의 파일에 접근
>> OBEX Get Request로 ‘telecom/pb.vcf’ (주소록) 또는 ‘telecom/cal.vcs’ (달력)과 같이 잘 알려진 파일 이름으로 요청 발송
– 블루투스 기기가 펌웨어에 버그가 있는 기기라면 공격자는 경우에 따라서 피해 디바이스의 모든 파일에 접근할 수 있음
③ 블루버깅(Bluebugging)
• 블루투스 장치를 원격에서 연결하여 임의의 동작을 실행시키는 공격
- 블루투스 장치가 서로 한 번 연결(페어링)되면 그 이후에는 별다른 인증 절차 없이도 자동으로 서로 연결되는 인증 취약점을 악용한 공격
- 공격 대상과 10m 이내에서 가능
- 전화 걸기, 불특정 번호로 문자 메시지(SMS) 보내기, 기존의 문자 메시지 (SMS) 읽기, 주소록 읽기 및 쓰기, 인터넷 서핑 및 전화 내용을 감청(엿듣기)도 가능
④ 블루재킹(Bluejacking)
• 블루투스를 이용해 스팸 메시지를 익명으로 퍼트리는 것
• 블루투스 기기의 가용성을 떨어트리는 것
– 보안과 관련하여서는 상대적으로 위협이 적음
>> 블루투스 보안 위협에 대한 대응책
• 사용하지 않을 때에는 블루투스를 꺼두는 것
3. IoT 보안
1) 개요
– 사물 인터넷(IoT: Internet of Things)
• 각종 사물에 센서와 무선 네트워크 기능을 내장하여 인터넷에 연결하는 기술
- 인터넷으로 연결된 사물들이 데이터를 주고받아 스스로 분석하고 학습한 정보를 사용자에게 제공하거나 사용자가 원격 조정 가능
• 사물
- 가전제품, 모바일 장비, 웨어러블 디바이스 등 다양한 임베디드 시스템
– 보안 위협 증가
• 모든 사물이 보안 공격의 대상이 될 수 있음
2) 보안 위협
① 물리적 보안 취약점
• 장치 외부에 USB, RS-232 및 메모리 카드 포트 등 물리적 인터페이스가 존재
- 덮개 등을 손쉽게 열어서 내부 기판의 메모리 혹은 MCU(Micro Controller Unit) 컨트롤러에 대한 접근이 가능
• 대응 방안
- 물리적 인터페이스 차단
» 내부/외부의 입출력 포트의 비활성화, 분해가 불가한지 확인
- 기기 제조 시 조작 확인(Tamper Proofing) 또는 분해 방지 메커니즘 구현
- 외부 조작 방지 메커니즘 도입
② 인증 메커니즘 부재
• 초기 비밀번호를 그대로 사용할 경우 이를 악용한 ‘Mirai 악성코드’ 등에 노출
>> Mirai 악성코드
- 2016년 등장하여 수많은 IoT기기를 감염시키고 Botnet을 이용한 DDoS 공격 수행
- 소스공개 후 더 많은 공격자들이 이를 악용해 표적을 상대로 DDoS 공격 수행
- 현재도 수많은 변종들이 생성 및 유포되고 있음
• 대응 방안
- 초기 설치 혹은 재설치시, 초기 인증 정보(아이디, 비밀번호 등)의 변경을 강제하여 비인가된 사용자의 접근이나 DDoS 공격 방지
- 제품별로 서로 다른 초기 인증 정보를 설정하여 사용자에게 개별적으로 전송
- 사용자 인증 우회 방지
>> IoT 제품의 설정 및 제어 기능 수행 시 사용자 인증 의무화
>> 잘못된 인증 시도에 대해서 횟수 제한 부여: 무차별 공격(Brute Force) 대응
- 비밀번호를 포함한 인증 정보 입력 및 저장 시 평문으로 표시되거나 저장되지 않게 함
- 인증 실패 피드백에 관련된 정보 제공을 최소화
③ 접근 통제 부재
• 체계적인 접근 통제 방법이 없음
• 대응 방안
- 일반 사용자에게는 중요 기능 설정에 접근할 수 없도록 최소한의 사용 권한만 허용
- IoT 제품을 설정 혹은 제어하거나 제어 대상 제품을 등록하는 등의 중요한 기능에는 인가된 사용자(관리자)만 접근 가능
- 관리자 페이지는 일반 사용자 인증과는 다른 패스워드로 설정
④ 전송 데이터 보호 부재
• 대응방안
- 제3자가 도청 및 위·변조하는 것을 방지하기 위해 안전한 암호화 통신 채널 제공해야 함
⑤ 펌웨어 업데이트 취약점
• 신뢰할 수 있는 업데이트 서버를 통해 업데이트가 수행되어야 함
• 대응 방안
- 업데이트 서버 주소에 대한 무결성을 보장
>> 업데이트 서버의 IP주소의 변경 방지
>> 물리적 주소(MAC 주소) 값을 비교
>> 업데이트 서버 정보를 도메인으로 제공할 경우 전자서명된 인증서를 사용하여 해당 서버의 신뢰성을 확인
보안 솔루션 2 - DLP, 기타 보안 솔루션 (0) | 2023.07.09 |
---|---|
보안 솔루션 1 (방화벽, 침입 탐지 시스템, 침입 방지 시스템) (0) | 2023.07.01 |
무선 네트워크 보안 1 - 개요, 무선랜 보안(유형 및 취약점, 보안성 강화, 무선랜 암호화/인증기술) (0) | 2023.06.10 |
악성 코드와 소프트웨어 보안 2 - 악성 코드 분석과 제거, 소프트웨어 개발 보안 (0) | 2023.05.09 |
악성 코드와 소프트웨어 보안(1)-바이러스, 웜, 트로이 목마, 사회 공학 보안 공격 (0) | 2023.05.02 |