모바일 앱의 보안 코딩을 위한 4가지 팁

안하영 / 2022-08-16 13:57:29
모바일 앱 기술 개발 속도가 갈수록 빨라지며 모바일 앱을 안전하게 보호할 수 있는 보안도 중요해지고 있다. [사진출처:위키미디어]
모바일 앱 기술 개발 속도가 갈수록 빨라지며 모바일 앱을 안전하게 보호할 수 있는 보안도 중요해지고 있다. [사진출처:위키미디어]

모바일 앱 기술 개발 속도가 갈수록 빨라지며 모바일 앱을 안전하게 보호할 수 있는 보안도 중요해지고 있다. 이에 개발자는 사용자와 비즈니스를 보호하기 위한 실용적인 보안 코딩에 관한 책임감도 커지고 있는 추세다. 이러한 가운데 보안 및 기술 커뮤니티 전문매체 데브옵스(DevOps)가 모바일 앱의 보안 코딩을 위한 4가지 팁을 소개했다.

HTTPS를 통해 SSL 사용
모바일 앱 개발자는 본능적으로 네트워크 통신을 위해 HTTP(Hypertext Transfer Protocol)를 사용할 수 있다. 그러나 HTTP는 위협 행위자가 가로챌 수 있도록 개인 사용자 정보를 공개한다. 개발자는 업계 표준 SSL을 통해 서버와 주고받는 데이터를 암호화하는 HTTPS를 대신 사용해 이러한 일반적인 실수를 수정할 수 있다.

안드로이드 개발자는 사용 가능한 NetworkSecurityConfig 파일을 사용해 앱 내에서 이루어진 모든 네트워크 연결에 미리 결정된 구성을 설정하거나 HTTPS를 수동으로 통합할 수 있다. iOS 개발자는 iOS 앱에서 보안 통신을 적용하고 모바일 앱과 서버 간의 안전하지 않은 연결이 완료되는 것을 방지하는 기본 기능으로 앱 전송 보안(ATS)을 사용할 수 있다.

인증서 내용 확인
인증서를 연결할 때 추가 유효성 검사를 적용해 HTTPS 연결에 보안을 추가한다. 인증서에는 서명한 인증기관(CA)과 애플리케이션에서 알려지거나 허용한 호스트 이름 목록이 포함된다. 서버와의 연결을 수행할 때 이러한 구성 요소의 유효성을 검사하는 앱은 자격 증명 및 민감한 데이터를 훔칠 수 있는 MITM(Man-in-the-Middle) 공격의 위험을 크게 줄인다.

인증서가 유효한 인증기관에서 발급되었는지 확인하기 위해 안드로이드 개발자는 모바일 운영 체제를 실행하는 장치에 포함된 사전 구성된 인증기관 목록을 참조할 수 있다. 안드로이드 개발자는 HostnameVerifier와 같은 기본 클래스를 구현해 앱 내에서 적절한 호스트 이름을 확인할 수 있다. iOS 개발자는 기본 제공 유효성 검사를 제공하는 앱 전송 보안을 활용하거나 NSURLSession 클래스의 메서드를 사용해 대신 수동으로 코딩할 수 있다.

모바일 앱의 하드코딩 리소스 피하기
공격자는 종종 모바일 앱의 소스 코드 내에서 하드코딩된 정보를 사용해 사용자를 이용한다. 예를 들어 공격자는 앱 파일에 저장된 자격 증명을 사용해 사용자 계정에 액세스할 수 있다. 공격자는 하드코딩된 API 키 또는 URL을 찾아 개인 데이터를 수집하거나 앱을 완전히 장악할 수도 있다. 모바일 앱 개발자는 키, 비밀번호 및 URL을 소스 코드에 하드코딩하지 않음으로써 이러한 영역이 손상되는 것을 방지할 수 있다. 백엔드에서 전송을 암호화하고 데이터를 해독하면 보안 계층도 추가된다.

최신 암호화 사용해 사용자 보호
SHA-2, RC4 및 DES와 같은 오래된 암호화 알고리즘을 통해 공격자는 겉보기에 안전한 모바일 앱을 쉽게 중단할 수 있다. 이전 알고리즘을 사용하면 모바일 앱이 업계 규정을 준수하지 않게 돼 조직이 벌금이나 법적 위험에 처할 수 있다. 개발자는 사용 가능한 최신 암호화 알고리즘을 사용하고 특정 앱 시나리오에 적합한 알고리즘을 선택해 안드로이드와 iOS 모바일 앱에서 이 문제를 피할 수 있다.

바이너리를 저장소에 게시하기 전에 서명할 때 길이가 최소 2048비트(4096비트 권장)인 키를 사용하고 안드로이드에서는 암호화 구현을 위한 임의 값을 생성할 때 iOS에서 SecureRandom 또는 SecRandomCopyBytes를 사용한다. 안드로이드 개발자는 Keystore 클래스를 활용할 수 있고 iOS 개발자는 Keychain 서비스를 활용해 매우 민감한 데이터를 저장할 수 있다.

[ⓒ CWN(CHANGE WITH NEWS). 무단전재-재배포 금지]

안하영

IT/Tech, 금융, 산업, 정치, 생활문화, 부동산, 모빌리티

뉴스댓글 >

- 띄어 쓰기를 포함하여 250자 이내로 써주세요.
- 건전한 토론문화를 위해, 타인에게 불쾌감을 주는 욕설/비방/허위/명예훼손/도배 등의 댓글은 표시가 제한됩니다.

댓글 0