프로그래밍[Univ] 343

[Android] get or set wrap content height

Android에서 wrap_content로 만든 뷰의 높이를 설정하거나 뷰의 높이를 얻어오는 소스코드이다. 기존에 소개했던 코드에서 약간의 변경 사항이 있다. 뷰에서 Margin값이 사용되었다면 Margin값만큼 기준이 되는 Width값을 줄여야 한다. 이를 반영한 코드가 아래의 코드이다. 아래의 코드는 높이 값을 가져오는작업을 한다. private int getHeightForWrapContent(Activity activity, View view) { DisplayMetrics metrics = new DisplayMetrics(); activity.getWindowManager().getDefaultDisplay().getMetrics(metrics); ViewGroup.MarginLayoutPar..

[컴퓨터보안] DRM(Digital Rights Management)

* DRM(Digital Rights Management) - 디지털 컨텐츠에 대해서 원격제어를 시도 - Digital contents에 대한 접근을 제어한다. 컨텐츠 분배 후에도 이에 대해서 제어를 지속적으로 한다. > 복사 방지, 사용범위 제어, 시간 제한 - E-book, Digital music, Streaming audio 등... * How do it? - honor system : 서로 신뢰를 하고, 모든 권한을 구매자에게 준다. > 이를 시도하였지만, 지속적인 판매 감소를 보여 철수한 사례가 많다. - software-based : 거의 대부분의 경우 DRM을 구현하는 방식 > Key로 암호화된 책을 판매한다. > 특별한 software를 통해서만 접근이 가능하게 된다. > 이를 가능하게 ..

[컴퓨터보안] Malware의 미래와 기타 공격법

* Malware의 미래 - Malware의 Polymorphic / 다양한 형태로 전파 > 흔적 탐지에 대응하기 위해서 바이러스를 만드는 사람들의 첫번째 방식 > 여러가지 형태의 웜은 항상 암호화되어 전파되며, 전파할때마다 새로운 키를 사용한다. > 하지만, 흔적 탐지로 발견이 가능하다. - Malware의 metamorphic / 다양한 형태로 변화 > 새로운 시스템을 감염시키기 전에 자신을 변형 / 변형된 웜은 이전의 웜과 같은 역할을 한다. > 이에 의해 흔적 기반 탐지를 피할 수 있다. > 탐지가 되지 않도록, 이전 웜과 충분히 구분을 시켜야한다. > 현재 까지 풀리지 않는 웜의 문제는 대부분 여기서 발생한다. - 복제 방법 : 원본과 같은 역할을 하지만, 다른 흔적을 갖고 있게 된다. > 웜은..

[컴퓨터 보안] Malware

* Malware - 의도적으로 만들어낸 공격적인 악성 프로그램 - Malware의 종류 1) Virus : 수동적인 프로그램 전파 2) Worm : 적극적인 프로그램 전파 3) 트로이 목마 : 예상하지 못한 기능 4) Trapdoor/backdoor : 비권한 접근 5) Rabbit : 시스템 자원을 고갈 시키는 것으로 바이러스, 웜의 형태로 구현된다. - Malware의 역사 1) Cohen에 의한 초기 코드 개발(80년대 초기) 2) Brain virus(1986) 3) Morris worm(1988) 4) Code Red worm(2001) 5) SQL Slammer worm(2004) - Virus 존재 위치 1) Boot sector : 다른 어떤 것을 하기 전에 프로그램이 오작동하게 만든다...

[컴퓨터보안] Software and Security

* 소프트웨어의 필요성 - 모든 정보보안은 소프트웨어로 구현이 된다. - 소프트웨어가 공격받게 되면 소프트웨어를 구성하는 프로토콜, 보안이 완벽해도 깨지게 된다. - 소프트웨어는 보안 취약성의 시작점이 된다. > 거의 대부분의 시스템은 소프트웨어로 구현되기 때문에... * 나쁜 소프트웨어 - 잘 못만든 소프트웨어 - 나쁜 소프트웨어는 어디에서나 존재한다. - 의도적으로 만든 나쁜 소프트웨어(Malware)와 예기치 못한 오류를 가진 소프트웨어가 있다. - 공격자는 소프트웨어의 에러와 결함을 적극적으로 찾는다. - 소프트웨어의 복잡성은 보안을 취약하게 한다. > 복잡성은 보안의 적이다. * Topic - 비의도적 결함 : 프로그램 결함 > 버퍼 오버플로우 > 불완전한 중재 > Race conditions ..

[컴퓨터보안] GSM 보안

* GSM - Mobile : 휴대전화로 SIM을 내장하고 있다.(SIM : security module) - 무선으로 연결을 한다. - 방문 네트워크 : 기지국(Base Station), 기지국 제어기(Base Station controller) > 현재 어떤 단말이 자신의 네트워크에 접속해 있는지 기록 - PSTN : 공중 전화망(VLR과 HLR을 연결해주는 역할) - Home Network : 휴대전화가 속해 있는 망, IMSI를 보관(IMSI : GS망에서 전세계에서 단말을 구분해주는 값) > 현재 단말이 어떤 네트워크에 방문하고 있는지 기록 > AuC는 IMSI를 통해서 단말을 구분하고 인증해주는 역할을 한다. * GSM 보안 - 목표 1) 공중 전화망과 같은 정도의 보안 유지 2) SIM 카드..

[컴퓨터보안] 무선랜 보안

* Wireless LAN의 두가지 과제 - 단말과 AP의 상호인증 > 단말은 AP가 신뢰할 수 있는 AP인지 판단을 할 수 있어야 한다. > AP는 단말이 자신에게 속해 있는 단말인지 판단을 할 수 있어야 한다. - 데이터의 암호화를 위한 키 분배 * Wireless LAN security protocol ⓐ WEP(wired equivalent privacy) - 기밀성, 단말의 인증, 데이터 무결성이 가능 / AP인증은 불가능하다. - AP내의 모든 단말들은 동일한 키를 사용한다. - 스트림 방식의 대칭키 알고리즘을 사용한다. - nonce와 대칭키를 이용하여 단말을 인증 >AP와 단말은 서로 같은 대칭키를 같고 있다는 전제가 필요하다.(프로그램이 설치될때 자동으로 설치 될 것이라는 가정) - 인증..