상세 컨텐츠

본문 제목

무선 네트워크 보안 2 - 모바일 보안, 블루투스 보안, IoT 보안

보안

by oose. 2023. 6. 13. 15:48

본문

1. 모바일 보안

1) 모바일 통신, 셀룰러 통신

 – 모바일(mobile) 통신 : 무선을 이용하여 가입자가 이동 상태에서도 상대방과 교신을 할 수 있게 하는 것 

 –셀룰러(Cellular) 통신 : 한 지역의 가입자들을 셀(cell)이라 부르는 동일 중심 주파수를 사용하는 통화 존(zone)으로 구분, 각 zone의 중심에 기지국(Base station)을 설치하고 이 셀에 소속된 가입자는 셀의 기지국을 통해서 다른 셀의 가입자와 통신하는 방식

셀룰러(Cellular) 통신의 발전

 

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’ (달력)과 같이 잘 알려진 파일 이름으로 요청 발송

   – 블루투스 기기가 펌웨어에 버그가 있는 기기라면 공격자는 경우에 따라서 피해 디바이스의 모든 파일에 접근할 수 있음

 

블루스나핑(Bluesnarfing) 공격

 

 

 ③ 블루버깅(Bluebugging)

  • 블루투스 장치를 원격에서 연결하여 임의의 동작을 실행시키는 공격

   - 블루투스 장치가 서로 한 번 연결(페어링)되면 그 이후에는 별다른 인증 절차 없이도 자동으로 서로 연결되는 인증 취약점을 악용한 공격

   - 공격 대상과 10m 이내에서 가능

   - 전화 걸기, 불특정 번호로 문자 메시지(SMS) 보내기, 기존의 문자 메시지 (SMS) 읽기, 주소록 읽기 및 쓰기, 인터넷 서핑 및 전화 내용을 감청(엿듣기)도 가능

 

 ④ 블루재킹(Bluejacking)

  • 블루투스를 이용해 스팸 메시지를 익명으로 퍼트리는 것

  • 블루투스 기기의 가용성을 떨어트리는 것

   – 보안과 관련하여서는 상대적으로 위협이 적음

 

블루재킹(Bluejacking)의 예

 

    >> 블루투스 보안 위협에 대한 대응책

  • 사용하지 않을 때에는 블루투스를 꺼두는 것

 

 

3. IoT 보안

1) 개요

 – 사물 인터넷(IoT: Internet of Things)

  • 각종 사물에 센서와 무선 네트워크 기능을 내장하여 인터넷에 연결하는 기술

   - 인터넷으로 연결된 사물들이 데이터를 주고받아 스스로 분석하고 학습한 정보를 사용자에게 제공하거나 사용자가 원격 조정 가능

  • 사물

   - 가전제품, 모바일 장비, 웨어러블 디바이스 등 다양한 임베디드 시스템

 – 보안 위협 증가

  • 모든 사물이 보안 공격의 대상이 될 수 있음

출처 : https://krnd.kr/wp-content/uploads/2022/11/012-IoT%EC%82%AC%EB%AC%BC%EC%9D%B8%ED%84%B0%EB%84%B7%EC%9D%B4%EB%9E%80_%ED%95%9C%EA%B5%AD%EC%A0%84%EC%9E%90%EA%B8%B0%EC%88%A0.png

2) 보안 위협

IoT 보안 위협
보안 공격 대상이 되는 IoT 환경의 예

① 물리적 보안 취약점

  • 장치 외부에 USB, RS-232 및 메모리 카드 포트 등 물리적 인터페이스가 존재

   - 덮개 등을 손쉽게 열어서 내부 기판의 메모리 혹은 MCU(Micro Controller Unit) 컨트롤러에 대한 접근이 가능

  • 대응 방안

   - 물리적 인터페이스 차단

    » 내부/외부의 입출력 포트의 비활성화, 분해가 불가한지 확인

   - 기기 제조 시 조작 확인(Tamper Proofing) 또는 분해 방지 메커니즘 구현

   - 외부 조작 방지 메커니즘 도입

 

② 인증 메커니즘 부재

  • 초기 비밀번호를 그대로 사용할 경우 이를 악용한 ‘Mirai 악성코드’ 등에 노출

  >> Mirai 악성코드

   - 2016년 등장하여 수많은 IoT기기를 감염시키고 Botnet을 이용한 DDoS 공격 수행

   - 소스공개 후 더 많은 공격자들이 이를 악용해 표적을 상대로 DDoS 공격 수행

   - 현재도 수많은 변종들이 생성 및 유포되고 있음

  • 대응 방안

   - 초기 설치 혹은 재설치시, 초기 인증 정보(아이디, 비밀번호 등)의 변경을 강제하여 비인가된 사용자의 접근이나 DDoS 공격 방지

   - 제품별로 서로 다른 초기 인증 정보를 설정하여 사용자에게 개별적으로 전송

   - 사용자 인증 우회 방지

    >> IoT 제품의 설정 및 제어 기능 수행 시 사용자 인증 의무화

    >> 잘못된 인증 시도에 대해서 횟수 제한 부여: 무차별 공격(Brute Force) 대응

   - 비밀번호를 포함한 인증 정보 입력 및 저장 시 평문으로 표시되거나 저장되지 않게 함

   - 인증 실패 피드백에 관련된 정보 제공을 최소화

 

③ 접근 통제 부재

  • 체계적인 접근 통제 방법이 없음

  • 대응 방안

   - 일반 사용자에게는 중요 기능 설정에 접근할 수 없도록 최소한의 사용 권한만 허용

   - IoT 제품을 설정 혹은 제어하거나 제어 대상 제품을 등록하는 등의 중요한 기능에는 인가된 사용자(관리자)만 접근 가능

   - 관리자 페이지는 일반 사용자 인증과는 다른 패스워드로 설정

 

④ 전송 데이터 보호 부재

  • 대응방안

   - 제3자가 도청 및 위·변조하는 것을 방지하기 위해 안전한 암호화 통신 채널 제공해야 함

 

⑤ 펌웨어 업데이트 취약점

  • 신뢰할 수 있는 업데이트 서버를 통해 업데이트가 수행되어야 함

  • 대응 방안

   - 업데이트 서버 주소에 대한 무결성을 보장

    >> 업데이트 서버의 IP주소의 변경 방지

    >> 물리적 주소(MAC 주소) 값을 비교

    >> 업데이트 서버 정보를 도메인으로 제공할 경우 전자서명된 인증서를 사용하여 해당 서버의 신뢰성을 확인

관련글 더보기