일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- openvpnconnect
- elasticsearch
- DVWA 환경구성
- 정보보안
- AWS 용어
- 취약점
- 보안뉴스
- 정보보안기사 위험분석 정리
- metasploit_series
- xz-utils
- AWS SA Series
- 정보보안기사 전자지불 시스템
- 전자금융_취약점
- 정보보안기사 데이터베이스
- 게시글 복사 방법
- 정보보안기사
- openvpn error
- iso http통신
- 위험분석 관리
- 데이터베이스 보안 정리
- tlu.dl
- javascript끄기
- AWS 리전이란?
- 티스토리 오류 수정
- ms트래픽문제
- AWS AZ
- Risk Analysis
- DVWA 설치
- AWS 가용 영역
- windows트래픽
- Today
- Total
ARTIFEX ;)
iOS App에서 HTTP 통신 허용하기 본문
ios9 이후부터는 HTTP가아닌 HTTPS로의 접근만 허용하였기 때문에 HTTP로 접근 하기위해서는 설정이 필요하다.
자세히 설명하자면 Apple 에서 앱 자체의 보안성을 위해 ATS(App Transport Security)라는 정책을 통하여 iOS9 버전 이후 부터는 보안에 취약한 네트워크를 차단시킨다.
보통은 앱 개발 테스트 시 HTTP 서버와 통신 시도를 하면 에러가 나오는 경우인데
앱 분석 등을 진행하다가 발생할 수 있기에 해당 에러에 관한 글을 정리하려고 한다.
(사실 오래전에 포스트한 글이지만 타 플랫폼에 있어서 옮길 겸 재정리)
앱 개발적인 부분이 많으므로 필요한 부분만 참고하면 될 듯 하다.
Apple 측에선 앱 자체의 보안성을 위해 ATS(Apple Transport Security)라는 정책을 설정하여 기본적으로 https 통신을 유도한다. → HTTP 자체를 Deny.
<dict>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
</dict>
http 테스트를 위해 info.plist에서 ATS부분을 추가해주어야 함.
NSAppTransportSecurity의 NSAllowsArbitraryLoads 값을 true로 지정한다.
이후 앱을 빌드하면 문제없이 http 서버와 잘 통신된다. 실제 배포에선 http 사용이 없다면, 허용하지 않는게 맞을 것 같고, 보안적인 관점에서도 궁극적으로 저 옵션을 안키도록 https를 기본으로 가져가고 사용하는 구간이 발견되면 리포팅 하는게 좋을 듯하다.
다만, 보안상 모든 사이트에 대한 HTTP를 오픈하는 것은 비추천함으로 특정 사이트만 오픈을 위해 아래와 같은 방식으로 코드 수정을 권고
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>도메인주소(www.naver.com)</key>
<dict>
<key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
<true/>
</dict>
</dict>
</dict>
'# Security > WEB, APP Vulnerabilities' 카테고리의 다른 글
Event Handler List - OWASP (0) | 2024.04.24 |
---|---|
HSTS (HTTP Strict Transport Security)이란? (2) | 2024.04.24 |
SQL injection Prepared Statement 2 (0) | 2024.04.05 |
SQL injection Prepared Statement 1 (0) | 2024.04.05 |
HTTPS Renegotiation 취약점 리뷰 (0) | 2024.04.01 |