본문 바로가기
[도서 정리] 01. 보안의 필요성 - 보안의 기본 01. 보안의 필요성 - 보안의 기본 * 보안이 필요한가? * 보안을 생각할 때의 중요 관점 - 기밀성 / 무결성 / 가용성 -'무엇을 어떻게 보호할 것인가’를 생각할 때는 기밀성, 무결성, 가용성 이라는 세 가지 요소를 생각하는 것이 좋다.이미 기밀성, 무결성, 가용성이 확보되어 있는 상태라면 그 이상의 다른 대책을 세울 필요가 없다. -기밀성 : 외부인에게 보이고 싶지 않은 것은 무엇인지 -> 외부에 노출시키지 않는다.무결성 : 마음대로 수정되면 곤란한 것은 무엇인지 -> 마음대로 수정할 수 없게 한다.가용성 : 작동하지 않게 되면 곤란한 것은 무엇인지 -> 항상 사용할 수 있다. * 기타 -DMZ : 기업이나 단체가 관리하는 네트워크 중 외부에 대해 공개하는 것을 전제로 구성된 네트워크를 DMZ(D.. 2019. 10. 2.
[web network] SPDY ( 스피디 ) [web network] SPDY ( 스피디 ) Wikihttp://d2.naver.com/helloworld/140351http://www.slideshare.net/oddpoet/spdy-13231459 -두문자어가 아니며, Speedy 를 기반으로 구글이 만든 단어이다.스피디 라고 읽는다. -구글이 개발한 비표준 개방형 네트워크 프로토콜이다. ( HTTP 2.0 에 들어갈 예정 ) -SPDY 가 등장한 배경은 다음과 같다. 더 많은 리소스 다수의 도메인 동적 동작 보안이 중요한 이슈 -웹 페이지 부하 레이턴시를 줄이고, 웹 보안을 개선한다.압축, 다중화(Multiplexing, Pipiline 과는 다르다), 우선 순위 설정을 통해 레이턴시를 감소한다. -하나의 소켓 연결을 통해 페이지를 구성하는 .. 2018. 5. 6.
[android] 화면 고정 기능 [android] 화면 고정 기능 -안드로이드 5.0 ( Lollipop ) 이상 버전에서 사용 가능한 기능이다. -화면 고정 기능은 특정 앱을 지목해서 Pin 을 할 수 있는데,이 Pin 이 된 앱을 가동중에는 Home 키나 Back 키, 앱 내 링크 등을 통해 해당 앱을 이탈할 수 없게 만든다. 이 기능은 게임을 하거나, 실수로 다른 앱으로 이동하지 않고 어떤 작업을 수행하고 싶은 경우 등에 사용하기 괜찮은 기능이다.덧붙여 지인이 어떤 특정한 기능을 사용하고 싶어 잠시 폰을 빌려달라고 했을 때, 해당 앱만 사용할 수 있도록 잠그는 역할도 할 수 있다. -설정 > 보안 > 화면 고정 > On/Off 를 통해 기능 활성화를 할 수 있고,화면고정(Pin) 을 하고 싶은 앱을 구동한 후 최근 실행(Histo.. 2018. 5. 5.
[android 보안] 안드로이드 보안 모델 #1 [android 보안] 안드로이드 보안 모델 출처 : Android Security Internals 1장개요 목차 1. 안드로이드 보안 모델 1.1. 안드로이드의 아키텍처 1.1.1. 리눅스 커널 1.1.2. 네이티브 사용자 공간 1.1.3. 달빅 가상 머신 1.1.4. 자바 런타임 라이브러리 1.1.5. 시스템 서비스 1.1.6. 프로세스 간 통신 1.1.7. 바인더 1.1.8. 안드로이드 프레임워크 라이브러리 1.1.9. 앱 1.2. 안드로이드 보안 모델 1.2.1. 앱 샌드박스 1.2.2. 권한 1.2.3. IPC 1.2.4. 코드 서명과 플랫폼 키 1.2.5. 다중 사용자 지원 1.2.6. SELinux 1.2.7. 시스템 업데이트 1.2.8. 검증된 부트 1.3. 요약 1.1. 안드로이드의 아.. 2018. 4. 14.
[용어] 통합인증 - SSO ( Single Sign-On ) [용어] 통합인증 - SSO ( Single Sign-On ) -한 번의 인증으로 동일 기기에서 다른 자원도 함께 이용하게 하는 기능이다. -여러 응용프로그램에서 한 개의 계정에 대해 여러 번 로그인 하는 처리가 간소화되어 편리성을 도모할 수 있다.반면, 통합인증의 시작점이 되는, 즉 최초 계정 로그인을 하는 접근에 대한 보안이 중요하게 된다.보안이 요구되는 환경에서는 OTP 와 같은 1회용 비밀번호를 이용하는 등의 이중 인증이 필요할 수 있다. -Kakao, Facebook 등의 O-Auth 도 이 SSO 의 한 종류라고 볼 수 있다. facebook, kakao, o-auth, OTP, Single Sign On, SSO, [용어] 통합인증 - SSO ( Single Sign-On ), 다른 자원, .. 2017. 11. 13.
[Effective Java] 직렬화된 인스턴스 대신 직렬화 프록시의 사용을 고려하자. [Effective Java] 직렬화된 인스턴스 대신 직렬화 프록시의 사용을 고려하자. - Serializable 인터페이스를 구현할 때는 결함과 보안 문제가 생길 가능성이 커진다. 정상적인 생성자 대신 언어 영역 밖의 메커니즘을 사용해서 인스턴스가 생성되기 때문이다. 그런 위험을 현저히 줄이는 방법이 직렬화 프록시 패턴(Serialization proxy pattern) 이다. - 직렬화 프록시 패턴은 직렬화 가능 클래스의 private static 중첩 클래스를 설계한다. 직렬화 프록시(serialization proxy) 라고 하는 inner 클래스는 외곽 클래스를 매개 변수 타입으로 하는 단일 생성자를 갖는다. 그리고 이 생성자는 자신의 인자로부터 데이터만 복사한다. 일관성 검사나 방어 복사도 할.. 2017. 3. 28.
[Django] 파이썬 웹 프로그래밍 - Django 의 핵심 기능 #2 [Django] 파이썬 웹 프로그래밍 - Django 의 핵심 기능 #2 * 4.4.1. HTML 에서의 폼 -HTTP 프로토콜 중 폼에서 사용할 수 있는 HTTP 메소드는 GET 과 POST 뿐이다.장고는 이 중에서도 폼 처리에는 POST 방식만을 사용하고 있다.추가적으로 장고는 보안을 강화하기 위해 CSRF 방지 기능을 제공한다. * 4.4.2. 장고의 폼 기능 -장고는 폼 처리를 위해 다음 3가지 기능을 제공한다. 폼 생성에 필요한 데이터를 폼 클래스로 구조화하기 폼 클래스의 데이터를 랜더링하여 HTML 폼 만들기 사용자로부터 제출된 폼과 데이터를 수신하고 처리하기 -장고의 모델 클래스가 데이터베이스 테이블의 논리적인 구조 및 동작 기능, 우리에게 보여지는 방식들을 기술.. 2016. 12. 15.
[Effective Java] 가변성을 최소화 하자. [Effective Java] 가변성을 최소화 하자. -불변 클래스는 자신의 인스턴스가 갖는 값을 변경할 수 없는 클래스. - 불변 클래스는, 가변 클래스에 비해 설계와 구현 및 사용이 더 쉽다. 에러 발생이 적으며 보안이나 사용 측면에서 더 안전하다. - 불변 클래스를 만들 때는 다음 다섯 가지 규칙을 따르자. 1. 객체의 상태를 변경하는 그 어떤 메소드도 제공하지 않는다. 2. 상속을 할 수 없도록 하자. ( class 에 final 을 주어 막을 수 있다. ) 3. 모든 필드를 final 로 지정한다. 4. 모든 필드를 private 으로 지정한다. 5. 가변 컴포넌트의 직접적인 외부 접근을 막자. 생성자와 접근자 메소드 및 readObject 메소드에서 해당 객체의 방어 복사본을 만들어 사용하도록.. 2016. 10. 24.
[android] 디컴파일링시 Plain Text 로 노출되면 안 되는 정보들 숨기기 [android] 디컴파일링시 Plain Text 로 노출되면 안 되는 정보들 숨기기 -아주 간단하게는 각 character 들에 특정값을 더하고 빼기정도를 하는 것으로 인코딩할 수 있다. 하지만 보안 레벨 측면에서는 상당히 조악한 방법으로, 명석한 디컴파일러(사람기준)들은 이정도는 아주 간단하게 디코딩 할 수 있다. - 그럼 어떻게 안정적으로 만들 수 있을까? 너무 어렵지 않으면서 나름 안정성을 줄 수 있는 방법은 sign key 에서 특정 값을 추출해서, 보안적으로 안정성이 높은 알고리즘으로 encoding/decoding 을 하면 된다. Encrypt ( Encoding )SecretKey key = null;byte[] encryptedByte = null;try{PackageInfo packag.. 2015. 12. 24.
반응형