RISS 학술연구정보서비스

검색
다국어 입력

http://chineseinput.net/에서 pinyin(병음)방식으로 중국어를 변환할 수 있습니다.

변환된 중국어를 복사하여 사용하시면 됩니다.

예시)
  • 中文 을 입력하시려면 zhongwen을 입력하시고 space를누르시면됩니다.
  • 北京 을 입력하시려면 beijing을 입력하시고 space를 누르시면 됩니다.
닫기
    인기검색어 순위 펼치기

    RISS 인기검색어

      검색결과 좁혀 보기

      선택해제
      • 좁혀본 항목 보기순서

        • 원문유무
        • 음성지원유무
        • 학위유형
        • 주제분류
          펼치기
        • 수여기관
          펼치기
        • 발행연도
          펼치기
        • 작성언어
        • 지도교수
          펼치기

      오늘 본 자료

      • 오늘 본 자료가 없습니다.
      더보기
      • 연쇄적 우선순위 향상에 의한 안드로이드 기반 스마트폰의 사용자 반응성 향상

        이중현 서울대학교 대학원 2013 국내석사

        RANK : 247807

        구글이 안드로이드를 처음 공개하였을 때만 해도 안드로이드는 조악한 수준에 머물러 있었다. 그러나 오픈 소스라는 특징으로 수정이 용이하여 여러 번 판올림을 거치면서 빠르게 개선되어 왔다. 또한 안드로이드는자바 가상 머신을 기반으로 하고 있어 이종 하드웨어에 포팅이 용이하다. 이는 안드로이드가 멀티코어와 같은 최신 아키텍처에 쉽게 적용될 수 있다는 것을 의미한다. 그 결과 현재 모바일 기기에서 가장 널리 쓰이는 플랫폼으로 부상하였다. 그러나 안드로이드가 오랜기간에 걸쳐 내포하고 있던 여러 문제점을 조금씩 수정해 왔음에도 불구하고 단 한 가지 문제에 대해서는 오랫동안 지적받아왔다. 그것은 경쟁 플랫폼 대비 낮은 사용자 반응성이다. 안드로이드는 리눅스 커널을 기반으로 한다. 리눅스 커널은 여러 개의 태스크를 동시에 실행시킬 수 있는 멀티태스킹을 지원한다. 이러한 멀티태스킹 기능은 사용자 편의성에 큰 기여를 하는 것은 사실이다. 그러나 상대적으로 제한된 컴퓨팅 자원을 가진 모바일 기기에서 멀티태스킹은 실제 사용자가 사용하고 있는 응용에게 적절한 자원 배분을 보장할 수 없다. 안드로이드의 개발사인 구글 역시 이러한 문제를 인지하고 지난 x월 사용자 반응성 개선에 주안점을 둔 안드로이드 4.2 버전 Jellybean을 출시하였다.[1] Jellybean은 이전 버전에 비해 사용자 반응성이 크게 향상된 모습을 보여주었다. Jellybean에서 적용된 사용자 반응성 개선 메커니즘은 크게 두 가지로 분류할 수 있다. 첫 번째 사용자 터치 입력을 디바이스로 받아서 사용자 응용에게 전달하는 과정을 간소화시킨 것이다. 두 번째 기법은 Wait for VSync 기법으로서 화면에 출력하는 주기를 일정하게 한 것이다. 이로 인해 화면 변화가 스크린에 나타나기까지의 시간을 특정 시간 이내로 제한할 수 있었다. 이 두 가지 기법은 Jellybean에서 사용자 반응성을 개선하는 데 크나큰 기여를 했다. 그러나 Jellybean에서의 두 기법은 터치에 따른 사용자 요청을 처리하는 시간을 고려하지 못했다. 특히 다수의 응용이 동시에 실행되는 경우에서는 응용 간에 CPU를 놓고 경쟁하는 상황이 종종 벌어진다. 이러한 상황은 반응 지연을 야기한다. 본 논문에서는 다수의 응용이 동시에 실행되는 상황에서 현재 스크린에 보여지는 사용자 응용에 CPU 우선권을 부여하는 방식으로 사용자 반응성을 개선하는 기법을 소개한다. 그리고 제안한 기법을 상용 안드로이드 플랫폼 기반의 스마트폰에 직접 적용하고 효용성에 대해 검증한다. 이 논문은 다음과 같이 구성된다. 2장에서는 안드로이드 Jellybean의 소프트웨어 스택과 구조에 대한 간략한 소개 및 안드로이드 프레임워크 단에서 사용자 터치를 감지하고 처리하는 과정을 살펴본다. 3장에서는 안드로이드 플랫폼 기반의 모바일 기기에서 발생할 수 있는 CPU 경쟁으로 인한 사용자 터치 반응 지연 문제를 정의한다. 4장에서는 3장에서 제 기한 문제들을 극복하는 기법을 설명한다. 5장에서는 제안한 기법의 효용성에 대해 검증한다. 마지막으로 6장에서는 본 연구의 의의와 향후 발전 방향에 대해 논의한다.

      • 안드로이드 로그에 대한 라이브 증거수집 및 분석시스템 연구

        홍일영 高麗大學校 情報經營工學專門大學院 2012 국내석사

        RANK : 247807

        최근 안드로이드 모바일 기기의 사용자가 증가함에 따라 디지털 포렌식 분야에서도 안드로이드에 대한 관심이 높아지고 있다. 현재까지 대부분의 안드로이드 포렌식 연구는 비휘발성 메모리로부터 데이터를 수집하여 분석하는 기법에 집중되어 왔으며, 휘발성 데이터에 대한 연구는 미미한 실정이다. 이와 관련하여 비휘발성 메모리로부터의 데이터 수집과 분석에는 수행 방법에 따라 각각 문제점과 한계가 존재하는데 휘발성 정보의 수집을 통해 비휘발성 메모리의 분석에 필요한 정보를 얻을 수 있고, 또한 비휘발성 메모리에 저장되지 않는 많은 정보들이 휘발성 메모리에 기록된다는 점에서도 휘발성 정보와 관련한 연구의 필요성이 제기된다. 특히 안드로이드 로그는 휘발성 저장매체로부터 수집될 수 있는 휘발성 데이터로서, 안드로이드 하부 시스템에서부터 애플리케이션에 이르기까지 최근의 모든 구동 내역과 관련한 기록이 로그로 저장되기 때문에 사용자 행위를 추적할 수 있는 매우 유용한 자료로 활용할 수 있음에도 포렌식 관점에서 로그 대한 연구가 이루어지지 않았다. 사용자 행위를 추적하기 위한 목적에서 실제 기기로부터 로그를 수집하여 보면 기기 상에서 발생하고 있는 각종 백그라운드 서비스와 관련한 다량의 로그들이 사용자 행위와 관련한 로그와 복잡하게 혼재하고 있어 어떠한 로그들이 사용자 행위와 관련한 것인지 파악하기 어렵다. 또한 사용자 행위와 관련한 로그로 파악되는 로그를 발견한 경우에도 한 개의 로그만으로 사용자가 어떠한 행위를 취한 것인지 알 수 없어 전후의 여러 개의 로그를 수집하여 분석하여야 하는 경우가 존재한다. 특히 사용자가 여러 개의 애플리케이션을 바꿔가면서 동시에 사용하는 경우가 많은데 이 경우에는 더욱 분석이 어려워지기 때문에 로그를 활용하는 것이 간단하지 않다. 이에 본 논문에서는 사용자 행위에 따라 발생하는 로그 메시지의 패턴을 파악하여 로그를 사용자 행위 추적을 위한 데이터로 활용할 수 있음을 확인하고, 더 나아가 방대한 로그로부터 사용자 행위 관련 로그만을 추려낸 후 정확성하고 신속하게 로그를 분석할 수 있는 시스템과 분석 기법을 제안한다. 제안하는 시스템은 로그 패턴 분석을 통한 검색식 데이터베이스 구축 단계, 로그 획득 단계, 로그 정제 단계, 로그 분할 단계, 로그 분석 단계, 분석 결과 시각화 단계로 구성된다. 로그 분석은 데이터베이스 내의 검색식을 이용하여 사전에 정제 및 분류된 로그 그룹에 대한 정규식 검색을 수행하는 방식으로 수행하여 로그 분석의 신속성을 제고하고, 단일 엔트리 검색 뿐 아니라 여러 로그를 조합하여 분석할 수 있는 다중 엔트리 검색 기법을 이용함으로써 로그 분석 결과의 정확성을 높일 수 있도록 한 점이 특징적이다. 실험에서는 제안하는 로그 수집․분석 시스템을 이용함으로써 다양한 사용자 행위 정보를 파악할 수 있음을 확인하고, 검색식 개수 증가와 검색식 데이터베이스의 증가에 따른 검색 수행 시간을 측정하여 제안하는 시스템의 효율성과 현장 적용 가능성에 대하여 파악하였다.

      • 디지털포렌식 관점의 안드로이드 lock 기능 분석 방안 연구

        조재완 高麗大學校 情報保護大學院 2013 국내석사

        RANK : 247807

        스마트폰(Smart Phone)은 기존 DeskTop PC를 대체할만한 새로운 생활필수품으로 자리 잡아 3G·4G망은 물론 Wifi 등 다양한 네트워크 인터페이스를 통해 시간과 장소의 제약 없이 인터넷을 이용할 수 있을 뿐만 아니라, 개방된 개발 환경에 따라 누구나 어플리케이션을 개발하고 마켓이나 스토어(Store) 등을 통한 유통이 가능하다는 장점을 내세워 그 인기를 더해 가고 있다. 2012년 기준 국내 스마트폰 사용자는 3,000만 명에 이르며, 통신 가입자 중 절반 이상이 스마트폰을 사용하고 있는 것으로 나타났다. 이와 같이 스마트폰의 사용이 증가함에 따라 스마트폰은 범죄 사건과 연관된 직/간접적 디지털 증거를 처리․보관하는 중요한 매개체가 되었다. 그러나 스마트폰 운영체제 자체에서 제공하는 잠금 기능을 사용하거나 앱마켓 등에서 쉽게 다운 받을 수 있는 잠금 기능의 어플리케이션을 사용하는 경우 특정 파일에 대한 은닉, 암호화 또는 특정 어플리케이션 실행 방지 등 디지털 증거를 부정(Anti-Forensic) 할 수 있게 되어 관련 증거를 수집․처리하는데 있어 어려움을 겪을 수 있다. 'Jansen, W., Ayers, R.: Guidelines on Cell Phone Forensics, NIST, SP 800-101, 2007’에 따르면 잠긴(Locked) 디바이스(Device)에서 증거를 획득할 수 있는 방법을 3가지 제시하고 있다. 첫 번째는 스마트폰 소유자인 용의자와 인터뷰를 통해 패스워드를 자발적으로 진술 받는 방법. 두 번째는 하드웨어에 액세스 할 수 있는 권한을 가진 제조사 서비스센터의 지원을 받는 방법. 세 번째는 소프트웨어적인 접근 방법으로 통상 포렌식 분석관들이 주어진 디지털 증거물로부터 관련된 정보를 획득하는 가장 쉬운 방법이다. 따라서 본 논문에서는 현재 스마트폰 시장에서 높은 점유율을 확보하고 있는 안드로이드 OS 기반 스마트폰에서 각종 잠금 기능을 사용할 때 설정하는 비밀번호에 대한 저장 방식과 획득 방법을 연구한다. 이러한 연구를 통해 스마트폰에서 보관되는 디지털증거에 대한 수집․처리를 용이하게 하고, 스마트폰에서 확보한 비밀번호를 이용하여 스마트폰 사용자의 다른 디지털 기기의 접근 제어 암호 해독 또는 암호화된 파일을 해독하는데 도움이 될 것으로 기대한다.

      • 안드로이드 운영체제의 Ext4 파일 시스템에서 삭제 파일 카빙 기법

        김도현 고려대학교 정보보호대학원 2013 국내석사

        RANK : 247807

        최근 스마트폰, mp3, 태블릿 PC 등의 스마트 기기의 보급이 증가함에 따라 이러한 새로운 IT 환경 변화에 대응하기 위한 디지털 포렌식 기술 발전이 요구된다. 2012년을 기점으로 스마트 기기의 운영체제 중에서 구글(Google)의 안드로이드(Android)가 가장 높은 점유율을 차지하고 있으며 안드로이드는 스마트폰과 테블릿 PC 외에도 네비게이션, 홈 네트워크 기기(스마트 TV, 셋톱박스, 네트워크 오디오) 등에서도 탑재되고 있기 때문에 안드로이드에 대한 포렌식 분석이 필요하다. 안드로이드에는 Yaffs2, Ext3/4 등의 파일 시스템이 사용될 수 있지만 구글이 안드로이드 버전 2.3(Gingerbread)부터 Ext4를 공식 파일 시스템으로 지정함에 따라 대부분의 안드로이드 기기가 Ext4 파일 시스템을 사용하고 있다. 따라서 디지털 포렌식 관점에서 Ext4 파일 시스템 상의 삭제 파일 복구가 현안이 되고 있다. 본 논문은 Ext4 파일 시스템에서 파일의 할당, 삭제 시 특징을 분석하고 특히, 안드로이드 운영체제의 파일 할당 정책과 파일의 특징 등을 바탕으로 비 할당 영역에 조각나 있는 삭제된 파일에 대한 복구 방법을 제시한다.

      • 안드로이드 환경에서의 랜섬웨어 방지를 위한 애플리케이션 관리 및 분석 시스템 구현

        박인규 아주대학교 아주대학교 일반대학원 2018 국내석사

        RANK : 247807

        안드로이드 시장이 확대되고 사용자가 점차 증가하면서 안드로이드의 보안은 항상 문제가 되어 왔으며 최근에는 안드로이드 디바이스를 감염시키는 랜섬웨어까지 등장하면서 안드로이드에 대한 보안 문제는 더욱 대두되었다. 안드로이드 애플리케이션은 리패키징을 기법을 통해 일반 애플리케이션을 가장한 악성 애플리케이션을 유포하기 용이하다. 안드로이드 랜섬웨어는 일반적인 랜섬웨어와 동일하게 데이터를 암호화하는 기능을 수행하지만 추가적으로 잠금 화면을 통해 사용자의 디바이스를 잠그는 기능도 수행한다. 최근에 안드로이드 디바이스를 통해 일반 업무를 수행하고 개인정보가 많이 저장되어 있기 때문에 안드로이드 랜섬웨어로부터 디바이스에 대한 보안이 정상적으로 보장되지 않을 경우 막대한 피해로 이어질 수 있다. 안드로이드 랜섬웨어로부터 디바이스를 보호하기 위해 다양한 방법이 제안되었지만 랜섬웨어를 정상적으로 탐지하는데 오랜 시간이 소요되거나 데이터를 올바르게 보호하지 못하며 오탐률이 높다. 따라서 본 논문에서는 안드로이드 환경에서의 랜섬웨어 동향과 현재 랜섬웨어를 방지하기 위한 방안을 분석하고, 안드로이드 랜섬웨어를 방지하기 위해 애플리케이션 관리 및 분석 시스템을 제안 및 구현한다. 구현된 시스템에 대해 기존 방안과의 비교 분석 후 결론으로 마무리한다.

      • 안드로이드 컴포넌트 생명주기를 고려한 정적 분석 기법 연구

        이영섭 한국항공대학교 일반대학원 2018 국내석사

        RANK : 247807

        요 약 본 연구에서는 안드로이드 컴포넌트의 라이프사이클 및 View 객체에 대한 이벤트 처리를 세밀히 반영하는 정적 분석 방법을 제시한다. 이를 위해 안드로이드 생명주기를 고려한 분석 모델을 설계하고 모델링에 기반한 정적 분석 알고리즘을 개발하였다. 안드로이드의 고유한 특징은 라이프사이클 메소드 및 이벤트 핸들러 메소드들은 특정 상황에 맞게 안드로이드 시스템에서 호출된다. 따라서 소스코드 상에 호출문이 없어, 이에 대한 고려가 필요하다. 기존 연구들이 분석 전에 분석 모델을 생성하고 이를 기반으로 분석을 수행하는 것과 비교하여 본 연구에서는 분석을 수행하면서 이벤트 처리를 위한 함수 호출 관계를 확장해 나가는 방법을 사용한다. 이러한 방법은 실제 이벤트 처리를 담당하는 리스너 객체를 정확히 파악할 수 있으므로, 동적 바인딩으로 인한 이벤트 핸들러 관계의 파악 등에 있어 좀 더 정밀한 분석을 수행할 수 있다는 장점을 가진다.

      • 안드로이드 앱 보호를 위한 네이티브 코드 난독화 연구

        조효제 순천향대학교 대학원 2014 국내석사

        RANK : 247807

        스마트폰이 보편화 되면서 그에 따른 보안위협 또한 높아지고 있다. 그 중에서도 가장 높은 점유율을 가진 안드로이드는 루팅, 스미싱, 개인정보 탈취, 앱 불법 분석 및 크랙 등의 문제가 대두되고 있으며 특히 앱 시장에서의 불법으로 앱의 동작을 변형시키는 크랙 등이 큰 문제가 되고 있다. 안드로이드 앱은 자바를 기반으로 하고 있으므로 쉽게 디컴파일이 하여 원본에 가까운 소스코드를 복원해 낼 수 있는 문제점을 가지고 있으며 이러한 문제의 해결책으로 네이티브단에서의 주요 코드 개발, 네이티브 코드 암호화 등이 필요하다. 본 논문에서는 이러한 문제에 대처하기 위해 안드로이드 시스템의 보안기법을 연구하고 네이티브 코드와 ARM 어셈블리어를 통한 네이티브 코드 암호화 기법을 제안한다. 이를 통해 향후 안드로이드 앱의 보안성을 높이는데 일조할 수 있을 것으로 판단되며 더욱 나가 시장에서의 불법적인 크랙 및 코드패치로 인한 피해가 줄어들 것으로 예상된다.

      • 안드로이드 기반 모바일 환경의 안전한 비밀값 저장에 대한 연구

        정승배 세종대학교 대학원 2013 국내석사

        RANK : 247807

        Smartphones are widely use d by virtue of the recent performance improvement of both mobile networks and smartphones. Since smartphones are becoming more powerful and usable, users always tend to carry them and use many services smartphones offer, such as a messenger, Internet surfing and Internet banking. However, smartphones’ increasing popularity raises many security concerns. In this paper, we focus on security concerns with regard to Android rooting. Users need to login to SPs for accessing those services and lock them to protect their smartphones by using the provided authentication mechanisms implemented either as a PIN, ID/password or line pattern. However, smartphones keep hash values of secret information on files and store them in an internal memory of smartphones. Especially, in the case that users login to SPs, only when an auto login function is activated, the hash values of ID and password are stored. Those files stored in smartphones can be deleted to negate authentication. Besides, if hash values in files are revealed by rooting, it is possible for attackers to reveal plaintexts (e.g., the original PIN, password or line pattern) from the hash values by using rainbow tables. The malicious app referred to as ‘Zft’ which could attain root access to the Android based smartphone has been found out. If smartphone is rooted by this malicious app, it enables to access files in an internal memory and to reveal hash values of password stored for the auto login function. In addition, Android apps are easy to reverse engineer, with growing popularity of android platform. Through reverse engineering, attackers can obtain the type of hash function and its salt. They can exploit the obtained values to generate a rainbow table used for revealing a user’s password from the hash values stored in smartphones. Therefore, the methodologies to protect secret information should be developed. In this paper, we survey security features of Android and analyze what information can be obtained by reverse engineering. We then investigate attacks steals user’s passwords from smartphones. Since secret information is stored in an internal memory of smartphones, this information can be protected by employing access control, storing a hashed form of passwords and using salt. Nevertheless, they cannot protect secret information completely from various attacks. We thus propose a new method to securely store and keep user’s sensitive information. 모바일 네트워크 망의 발달과 스마트폰 기기의 고성능화로 스마트폰은 빠르게 보급되고 있다. 스마트폰은 성능이 뛰어나고 휴대성이 좋기 때문에 사용자들은 스마트폰을 항상 소지하고 다니는 특징을 가진다. 스마트폰을 이용해 메신저, 인터넷 서핑, 인터넷 뱅킹, 전화 기능 등 다양한 서비스를 이용할 수 있기 때문에 사용자는 스마트폰을 하루에도 수 십, 수 백번 사용한다. 만약 사용자가 스마트폰 인증 기능을 사용하고 있을 경우 스마트폰을 사용할 때마다 비밀번호를 입력해야하므로 하루에도 수 십, 수 백번 인증해야 한다. 그래서 대다수의 사용자는 인증기능을 귀찮아하며 아예 설정하지 않는 경우가 많다. 비밀번호 인증을 사용하는 사람들도 인증을 귀찮아 하므로 비밀번호나 패턴이 단순한 경우가 많다. 하지만 이런 비밀번호는 공격당하기 쉬워 위험하다. 사용자가 입력한 비밀번호는 해시값으로 스마트폰 내장 메모리에 저장된다. 스마트폰의 인증 외에 메신저, 인터넷 서핑, 게임과 같은 앱에서도 인증 기능을 사용한다. 인증 기능을 지원하는 대부분의 앱들은 자동 로그인 기능을 함께 제공한다. 자동 로그인 기능을 사용하기 위해서는 아이디와 비밀번호를 해시 값으로 스마트폰 내장 메모리에 저장한다. 내장 메모리에 저장 된 데이터는 루팅을 하지 않으면 접근할 수 없다. 루팅은 안드로이드 운영체제 상에서 최상위 권한을 얻는 것으로 접근을 제한한 폴더에 접근할 수 있게 한다. 루팅이 되어 있다면 내장 메모리에 저장된 해시 값에도 접근할 수 있다. 만약 해시 값이 저장된 파일이 공격자에게 유출 됐을 때 비밀번호가 짧은 경우 레인보우 테이블을 이용한 공격으로 비밀번호의 평문을 알아낼 수 있다. 특히 비밀번호가 짧을 수록 공격당하기 쉽다. 공격자가 해시값을 유출하지 않고 저장 된 해시 값을 삭제한다면 스마트폰 인증을 사라지고 아무 인증없이 스마트폰을 사용할 수 있게 된다. 사용자가 직접 루팅을 하지 않았더라도 악성코드가 루팅을 시도하는 Zft [14]와 같은 악성코드가 발견되었기 때문에 루팅이 되어 있지 않더라도 악성코드를 통해 내장 메모리에 저장 된 파일로 접근할 수 있다. 해시 값 외에 솔트 값, 키 값이 저장되어 있다면 이런 값들도 유출될 수 있다. 또한 안드로이드 스마트폰의 경우 역공학이 용이하다. 역공학을 통해 앱의 소스코드를 분석해서 해시 함수와 사용된 키 값, 솔트 값들을 알아낼 수 있다. 그리고 공격자가 이 값들을 획득했을 경우 이 값들로 레인보우 테이블을 만들어 해시 값을 통해 사용자의 비밀번호 평문을 알아낼 수 있다. 때문에 스마트폰 내부에 저장되는 비밀 값을 안전하게 보관할 수 있는 방법이 필요하다. 본 논문에서는 안드로이드에서 제공하는 스마트폰 보안 요소들이 어떤 것이 있는지 살펴보고, 실제로 역공학을 통해 어떤 정보들을 얻을 수 있는지를 분석한다. 또한 공격자가 사용자의 비밀번호를 알아내기 위해 할 수 있는 공격들에 대해서 살펴보고 나아가 이런 공격들을 대비해서 안전하게 비밀 값을 저장할 수 있는 방법을 제안한다.

      • 안드로이드 루팅/앱 無缺性 檢證 모듈의 脆弱點 硏究

        이원남 성균관대학교 정보통신대학원 2015 국내석사

        RANK : 247807

        최근 모바일을 이용한 활용도가 매우 높아져 가고 있다. 그중 가장 많이 사용되고 있는 모바일 OS는 안드로이드 이다. 그러나 오픈 소스를 지향하고 있기 때문에 여러 가지 취약점이 많이 존재하며 이를 이용한 악성행위가 많아지고 있는 추세이다. 그중 안드로이드 루팅/앱 무결성 검증 모듈의 취약점에 대한 연구를 다룬 논문이며 취약점을 증명 하기 위해 안드로이드 에서 사용하고 있는 파일들에 대한 포맷 정보와 안드로이드 앱을 역공학 하기 위한 툴에 대한 정보를 제공한다. 그리고 안드로이드 루팅/앱 무결성 검증 모듈의 우회 방법을 확인하여 보고 어떠한 취약점 이 있어 우회가 되는지 확인한다. 이렇게 확인된 취약점을 가지고 백신앱에 악성코드를 삽입 하는 시나리오 와 금융앱을 이용한 부정행위에 대한 시나리오를 통해 루팅/앱 무결성 검증 앱의 취약점이 어떠한 형식으로 사용될수 있는지 제공한다. 마지막으로 안드로이드 루팅/앱 무결성 검증 모듈의 취약점을 보완하기 위한 해결책 으로 DEX파일 난독화, decompile 방지 기술, 코드 debugging 방지 기술, 암호화된 DEX파일의 동적 로딩, ZIP파일 압축 해제 방지 기술을 제안 한다. 그리고 이렇게 제안한 방법들을 복합적 으로 적용 하여 보다 강도 높은 안드로이드 앱 을 제작 할수 있도록 하는데 목표가 있다.

      • 안드로이드 플랫폼에서 지속성 객체를 위한 객체 관리자의 설계 및 구현

        최화영 韓國外國語大學校 大學院 2011 국내석사

        RANK : 247807

        안드로이드 플랫폼은 오픈 소스 플랫폼으로 개발 접근성이 매우 높아 다양한 연구와 새로운 아이디어를 적용한 개발이 다채롭게 이루어지고 있다. 안드로이드 플랫폼 연구가 개방성으로 인해 활성화됨에 따라 스마트 폰의 핵심이라 할 수 있는 다양한 애플리케이션과 컨텐츠 그리고 서비스가 증가하고 있다. 안드로이드 플랫폼에서 애플리케이션의 최적화를 돕고 애플리케이션 구동의 효율성을 증가시키기 위해 애플리케이션을 개발할 때 애플리케이션에서 발생하는 다양한 타입의 데이터를 전송하고 객체에 대해 지속성을 보장할 필요가 있다. 따라서 본 논문에서는 애플리케이션 간 객체를 전송을 지원하는 MetaService와 객체의 지속성을 보장하기 위한 Object Manager를 설계하고 구현하였다. 본 논문에서 제안하는 MetaService는 애플리케이션 간 객체 전송을 위한 메커니즘이다. 안드로이드 플랫폼에서 데이터 전송을 지원하는 메커니즘에는 클립보드와 인텐트 그리고 컨텐트 프로바이더가 있다. 안드로이드에서 제공하는 클립보드를 이용하면 스트링 타입의 데이터와 레코드 형태의 데이터 전송이 가능하다. 하지만 클립보드와 컨텐트 프로바이더는 객체를 전송하기 위해 객체를 마샬링하고 언마샬링하는 과정을 개발자가 구현해야 한다. 그리고 인텐트는 메시지를 전달하는 것이기 때문에 객체를 전송하는 데는 적합하지 않다. 따라서 본 논문에서 제안하는 MetaService를 활용할 경우 다른 애플리케이션으로 객체를 전송하기 위해 구현해야 하는 복잡한 과정을 줄이고 애플리케이션 간의 객체 전송을 효율적으로 지원할 수 있다. 또한 가독성 높은 API를 제공하여 객체를 전송하는 과정을 처리하기 쉽기 때문에 애플리케이션을 개발할 때 효율적이다. 본 논문에서 제안하는 Object Manager는 애플리케이션에서 발생하는 객체의 지속성을 보존하기 위한 메커니즘이다. 안드로이드 플랫폼에서는 애플리케이션의 최적화를 돕고 애플리케이션 구동의 효율성을 증가시키기 위해 애플리케이션을 개발할 때 애플리케이션에서 발생하는 다양한 타입의 데이터와 객체에 대해 지속성을 보장할 필요가 있다. 안드로이드 플랫폼의 특성상 안드로이드는 시스템이 애플리케이션과 액티비티(activity) 그리고 프로세스의 생명주기(life cycle)를 관리한다. 따라서 애플리케이션에서 데이터를 처리하거나 사용할 때 사용하는 데이터 및 객체가 불특정 시점에 사라지는 문제점이 있다. 안드로이드 시스템은 생명주기에 따라 메모리가 부족한 상태에 이르면 프로세스나 액티비티를 강제 종료하고 제거하여 메모리 부족 현상을 해결한다. 사용자가 원하는 순간에 객체를 생성하고 데이터를 사용할 수 있지만 객체를 제거하는 것은 안드로이드 시스템에서 수행한다. 따라서 한정된 메모리 자원을 가지고 있는 모바일 환경에서 지속성을 보장하려는 객체나 데이터에 대한 처리는 모두 개발자의 몫으로 돌아간다. 또한 객체를 사용하는 중에도 프로세스가 제거될 경우 해당 객체도 함께 사라지기 때문에 객체의 지속성 보존이 어렵다. 또한 다량의 객체를 다룰 경우, 안드로이드에서 객체 관리는 애플리케이션의 책임이기 때문에 애플리케이션 개발 할 때 복잡성이 증가하는 문제가 발생한다. 따라서 본 논문에서 제안하는 Object Manager를 사용하여 객체의 지속성을 보존하고 객체를 관리하는 데 있어 효율성을 높일 수 있다. 안드로이드 플랫폼에서 안드로이드 시스템의 생명 주기로 인해 객체가 불특정 시점에서 제거되는 문제점을 해결하고 객체의 활용과 관리를 체계적이고 효과적으로 하기 위해 Object Manager가 필요하다. Object Manager는 여러 액티비티에서 생성되는 객체를 관리하기 위해 트랜잭션 지원을 하여 다량의 객체를 효율적으로 관리할 수 있다. MetaService는 객체를 전송하는데 있어 클립보드와 유사하게 일회성 전송을 지원한다. 따라서 다량의 객체를 생성할 경우 객체의 전송을 효율적으로 지원할 수 없다. 일회성 전송을 목적으로 하는 MetaService를 보완하고 다량의 데이터를 전송하고 객체를 관리할 수 있도록 Object Manager를 구상하였다. Object Manager는 다량의 객체를 공유하고 전송하는 과정을 간단하게 구현할 수 있게 한다. 또한 여러 애플리케이션에서 동일한 객체에 접근하는 것 제어하기 위해 트랜잭션을 지원한다. MetaService와 Object Manager는 객체를 전송하는데 있어 주 목적이 다르다. 두 메커니즘 모두 애플리케이션 간에 객체를 전송하는 과정을 간단하게 구현할 수 있도록 지원하여 애플리케이션 개발의 효율성을 높인다.

      연관 검색어 추천

      이 검색어로 많이 본 자료

      활용도 높은 자료

      해외이동버튼