일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- JPA
- spring
- DB
- 생성자
- 자바의정석
- dfs
- jsp
- 자료구조
- Stack
- JDBC
- Algorithm
- 알고리즘
- javascript
- dbms
- 가상컴퓨팅
- generic class
- 공개키 암호화
- 코테
- MVC
- Java
- cloud computing
- Queue
- sql
- 암호학
- data structure
- 클라우드 컴퓨팅
- BFS
- 코딩테스트
- python
- 크루스칼
- Today
- Total
목록분류 전체보기 (128)
PLOD
query optimization SQL 쿼리가 주어질 때 최단 시간내에 출력될 수 있는 최적의 query plan을 선택하는 작업, 특히 쿼리가 복잡한 경우 일반적으로 주어진 쿼리를 처리하기 위해 많은 전략에서 가장 효율적인 쿼리 평가 계획을 선택하는 프로세스 평가 계획은 각 작업에 사용되는 알고리즘과 작업 실행이 조정되는 방법을 정확하게 정의한다. query optimize를 하는 이유 : temporary result의 사이즈를 줄이기 위해 *cost-based query optimization 1) 동등성 규칙을 사용하여 논리적으로 동등한 식을 생성 2) 결과 식에 주석을 달아 대체 쿼리 계획을 가져온다. 3) 예상 비용을 기준으로 가장 저렴한 요금제 선택 평가 계획을 세울때는 관계에 대한 통계적..
1. ASLR(Address Space Layout Randomization) 리눅스 메모리 보호기법, 충분한 randomness를 요구로 하여 직접적인 메모리 참조가 힘들어 진다. 하지만 프로그램 코드에는 적용하지 못하고 오로지 라이브러리에만 적용 가능하다는 단점과 주소의 시작 주소만 바뀌기 때문에 address leak를 한다면 다른 함수도 결국 접근 가능하다는 단점이 있다. 과거의 App들은 C나 C++로 작성되었지만 현재는 Web 기반 서비스들이 주류이기 때문에 SQL injection이나 XSS, session Hijacking, CSRF 같은 공격들을 대비하여야 한다. web에서의 Request type은 GET과 POST로 나누어 진다. GET은 모든 데이터가 URL 자체에 있기 때문에 브라..
software security는 software의 어떻게 안전하게 만들것인가에 대해 초점을 맞춘다. 1. HeartBleed web에서 사용자가 서버와 통신을 할 때 주로 openSSL ,TLS를 사용하는데 사용자가 웹사이트에 접속할 때 서버로부터 정보를 암호화해서 주고 받으며 통신을 하는데 이 과정에서 서버와 사용자가 같은 데이터를 주고받지 않는 소프트웨어적인 문제점(OPENSSL bug로 가능해진 공격이다.) 2. Low-level vulnerability(C, C++) High- level (java, python) C와 C++ 는 system software language(ex . servers , OS kernels, embedded systems) 이기 때문에 attack 에 굉장히 민감하..
1. Perfect Forward Secrecy(PFS) 위의 방식처럼 diffie- hellman 방식을 사용해서 PFS를 구현하는 방식이 있지만 DH는 Man-In-the -Middle attack에 취약하다. 이 문제를 해결하기 위해서는 각자 가지고 있는 key(a,b)를 그때 그때 소각하는 방법을 사용하는 수 밖에 없다. *Real-‐World Protocols 1)SSH : RSA 기법을 사용한 protocol, secure tunnel을 만든다. public key Authentication 기법을 사용 2)SSL : WEB 에서 사용 , 클라이언트가 서버를 인증, TLS 와 같은 프로토콜, 단방향 인증 프로토콜, TLS는 SSL을 포함한다, SSL은 클라이언트와 서버간의 handshake ..
* Authentication : 네트워크 사용자 인증 또는 단말 인증과 관련되는 보안 서비스를 제공하는 프로토콜 ex) 1) Hash password with salt. 2) attacks on authentication software, keystroke logging, etc, can be issues. 1. Simple Authentication - Simple Authentication attack Replay attack 발생 - Better Authentication 여기서 Alice가 Hash를 이용해 password를 암호화 하여 보낼 수 있다. 하지만 Trudy가 Hash 값을 알고 있기 때문에여전히 replay attack이 가능함. 그리고 비밀번호가 같은 이상 Hash 값이 항상 같..
1. Hash의 정의 Hash : 단방향 암호화 기법이다. 해시 알고리즘은 SHA-256, SHA-512를 사용한다. 또 해시 알고리즘은 특정 입력에 대해 항상 같은 해시 값을 return 한다. * pigeonhole principle(비둘기 집의 원리) :n+1 마리 이상의 비둘기를 n개의 집에 넣으려고 할 때, 적어도 하나의 집에는 두 마리 이상의 비둘기가 들어가게 된다. 이를 Hash Crypto에 적용해 보면, M -> h(M) = h(M’) 2^32번 계산을 하면 중복되는 해시값이 50%가 넘는다 . -> 중복되는 Hash 값을 통해 birthday attack 가 발생함 *Dictionary Attack 원문에 대해 미리 계산된 해시값들을 모아서 사전 형태로 만들고 대입해보는 공격방법. 공격..