목록自習 (33)
학사 나부랭이
애플 디바이스에 응용 프로그램이 동작하려고 할 때, 앱 스토어에 배포할 때, 인앱 결제를 할 때 인증을 받아야 하는데, 여기서 인증서를 요청해야 해요. 그러니까 실제 자신의 디바이스에 구동을 시키고 싶다면 꼭 해야 하는 절차예요. 애플만이 자신들이 만든 디바이스에 어떤 소프트웨어를 실행하게 할 수 있어요.「アップルだけが自分たちが作ったデバイスにあるソフトを実行させる事を許すのです。」 실제로 앱이 실행될 때마다 애플로부터 인증을 받았는지 요구해요. 우선 iOS에 자신이 만든 앱을 등록하는 과정은 대략적으로 아래와 같아요. 1. 개발자가 애플에게서 iOS 디바이스에 앱을 설치할 수 있는 권한을 얻어야 해요. 그러니까, 개발자는 애플에서 인증을 받은 개발자가 되어야 하는 허가제이죠. 이 인증서를 통해 애플은 개발자..
iOS는 정보보호와 안정적인 구동 환경을 위해 다방면으로 앱의 기능을 제한하죠. 백그라운드 프로세스 제약도 그중 하나예요. 왜 이런 백그라운드 프로세스에 제약을 뒀을까요? 먼저 보안을 위해서인데요. 일반 앱이 백그라운드에서 자유롭게 돌아갈 수 있다는 거는 악성 프로그램도 마찬가지로 무한으로 백그라운드 프로세싱을 즐긴다는 거죠. 그래서 허가된 조건 하에서만 백그라운드에서 작동할 수 있도록 해요. 그리고 자원을 아끼기 위해서 인데요. 무엇보다 스마트"폰"인데 백그라운드 프로세스로 인해서 전화받는 작업이 원활하지 못하면 본말전도라고 생각해서 제약을 둔 거 같아요. 그런데, 아이폰으로 카톡도 잘 되고, 음악도 잘 되는데 이건 어떻게 구현했을까요? 바로 멀티태스킹인데요, iOS4 이후부터 본격적으로 지원되었으며 ..
Sandbox - 어린이가 안전을 위해 모래통 안에서만 놀게 하는 것에서 유래 서드파티 앱은 샌드박스 처리 즉, 격리되어 있기에 자신의 폴더에 있는 데이터 외에는 접근할 수 없어요. 즉, 다른 앱에서 저장한 파일, 시스템 파일 및 자원 등을 수정 및 접근할 수 없고, 접근하려면 샌드박스 정책에 따라 접근 권한을 부여받아야 해요. 각 앱은 설치 시 랜덤으로 지정되는 파일 저장용 고유 디렉터리가 할당되고 거기가 해당 앱의 홈 디렉터리가 되어요. 샌드박스가 없다면? 앱에 모든 접근 권한을 줄 경우, 편의성과 수행의 자유도가 높지만 해당 앱이나 프레임워크에 취약점이 있을 경우 공격자가 해당 취약점을 이용해 접근, 공격자가 모든 데이터나 자원에 접근해 악용할 수 있죠. 하지만 샌드박스를 적용할 경우, 공격자는 해..
방화벽으로 막을 수 있는 공격도 있지만 막을 수 없는 공격도 있어요. 보통의 방화벽은 IP 주소와 포트 번호만 보고 판단하기에 속여서 접근 가능하고 응용 프로그램 수준의 공격과 새로운 패턴의 공격에 대한 적응력이 낮고 실시간 대응을 할 수 없는 단점도 있어요. 하지만 지금부터 서술할 IDS나 IPS는 주소와 포트 번호뿐만 아니라 내부의 데이터까지 보기에 막을 수 있는 범위가 증가하죠. 요약하자면 IPS는 예방 및 사전 조치를 취하는 시스템이고 IDS는 탐지 및 사후 조치를 취하는 시스템이에요. Intrusion Detection System - 침입 탐지 시스템 허가받지 않은 접근이나 크래킹 시도를 하는 등의 악의적인 패킷을 실시간으로 감시하며 시스템 또는 네트워크 관리자에게 알려주고 대응을 하도록 해주..
Firewall 각 호스트들은 내부 네트워크를 ISP에 연결해 공중 인터넷에 접속하기 위한 라우터(=게이트웨이)를 가져요. 방화벽은 네트워크 사이(푸라치나 집 네트워크 동방 네트워크, 학교 네트워크 인터넷)를 분리하여 넘나드는(出入りする) 패킷을 네트워크 관리자가 미리 정한 규칙에 기반해 차단하거나 보내는(필터링하는) 소프트웨어예요. 네트워크에서 보안을 높이기 위한 1차적인 방법이죠. 방화벽의 기능 1. 접근 제어 정책에 따라 필터링하기 위한 검사 입증된 패킷이 아니면 모두 차단하는데 과도한 트래픽으로 과부화된 방화벽은 이후의 패킷을 모두 차단 - DoS 공격과 같은 결과 초래 2. 로깅 및 추적 필터링된 패킷에 대한 정보를 로그 파일에 기록 의심스러운 이벤트 발생 시 네트워크 관리자가 자세한 정보를 추..
OSI 7 Layer OSI 7 계층에서 각 계층은 네트워크의 원활한 동작을 위해 고유의 기능을 담당해요. 1계층 푸라치나가 nantokakomyu.com에 접속할 때, 컴퓨터에서 어떤 전기 신호를 주고받겠죠? 이 전기 신호가 1계층, 물리 계층에 해당해요. 전기 신호니까 당연히 Twisted Pair, 동축 케이블, 광케이블 등 구리 선이나 광섬유를 통해 전달되겠죠? 전송 단위는 Signal, bit이며 대표적으로 Hub나 Repeater 같은 장비가 있어요. 7계층 nantokakomyu.com에 접속해 인터넷을 하는 것 자체는 7계층, 응용 계층에 해당해요. 인터넷은 HTTP라는 프로토콜을 통해 동작해요. 최신 기술들의 총본산인 컴퓨터/스마트폰과 해저 케이블을 통해 왔다가는 전기 신호를 이용한 네트..
ELK 실시간으로 로그 및 데이터 수집, 분석할 수 있는 도구이다. 즉, 수많은 로그를 한 곳으로 집중시키고 분석하여 적당한 쿼리*를 만들어 원하는 데이터를 도출해낼 수 있는 로그 관리 솔루션이다. Elastic search, Log stash, Kibana의 앞글자를 딴 단어이다. *쿼리란? 데이터베이스에 특정 데이터를 보여달라는 클라이언트의 요청을 뜻한다. Elastic search ELK 중 분석 및 저장 기능을 담당한다. Lucene* 기반으로 개발한 분산형 검색 엔진이자 분석 엔진이다. No-SQL처럼** 사용할 수 있고 Lucene과 마찬가지로 자바 언어로 이루어져 있다. Log stash를 통해 수신된 데이터를 저장소에 저장한다. 데이터를 중심부에 저장하여 예상되는 항목을 검색하고 예상치 못..
Cookie HTTP는 stateless이에요. 그러니까 서버가 클라이언트의 상태를 보존하지 않아요. 그리고 서버는 항상 클라이언트와 연결되어있지 않아요. 그런 상태에서 웹사이트가 유저를 기억하기 위해 활용하는게 쿠키죠. (누군지, 어디서 왔는지, 어느 웹사이트를 방문했고, 관심사가 무엇인지, 인터넷에서 한 모든 것) 먼저 클라이언트와 웹사이트 서버의 대화하는 방식을 설명할게요. 클라이언트가 서버에 요청(ex. html 파일을 요청)을 하면 해당 서버와 연결이 되어요. 서버가 응답하고(html파일을 보냄) 그 응답을 클라이언트가 받는(html 파일을 받는) 순간 연결이 끊어져요. 가장 흔한 Authorization Cookie(인증 쿠키)를 예로 들자면... 1. 클라이언트가 아이디, 비번을 보내요. 2..