SolidWorks 2000 is mechanical design software that allows users to quickly sketch ideas, experiment with features and dimensions, and produce models and drawings. This chapter provides an overview of system requirements for installing SolidWorks 2000, the installation process, service packs, and the SolidWorks website. Key points include needing Windows NT 4.0 or later, 64MB RAM minimum, 250MB hard disk space, and a serial number and registration code during installation.
Este documento presenta información sobre presentaciones y publicaciones en línea, almacenamiento en la nube y Web 2.0. Explica qué son las presentaciones en línea y cómo sitios como SlideShare permiten alojar presentaciones en la web para su visión más allá de los límites espacio-temporales originales. También resume cinco de los principales sitios para crear y compartir presentaciones en línea y describe brevemente características clave de Prezi, Slideroll, Spresent, OnlinePresenter y AuthorSTREAM.
Este documento proporciona un resumen del Proyecto Educativo de un colegio en España. Describe las características del centro, incluyendo su dirección, teléfonos, horarios, enseñanzas ofrecidas, servicios complementarios y proyectos. También resume los principios educativos del colegio, como la coeducación, integración, no discriminación y desarrollo integral de los estudiantes. El objetivo general es inculcar el respeto a los derechos democráticos y promover el desarrollo físico, intelect
Communication Skills - Northwest Medical Partnerspedenton
The document discusses effective communication skills. It provides a 15-question quiz to assess one's communication abilities. The questions cover areas like anticipating confusion, considering the audience's perspective, choosing the appropriate channel, and actively listening with attention to body language. A high score indicates strong communication skills, while a low score suggests areas for improvement, such as thinking more about how to effectively convey and receive messages. The document emphasizes the importance of effective communication in work and relationships.
Este documento presenta a toorange, una nueva firma de consultoría editorial con 20 años de experiencia y más de 60 publicaciones rediseñadas. El resumen describe los servicios que ofrece toorange como diseño, rediseño, custom publishing, reportes anuales, branding, generación de contenido y capacitación editorial. El objetivo de toorange es marcar la pauta en el mundo editorial a través de un equipo de especialistas con alta calidad y solvencia creativa.
Las nuevas tecnologías han generado una gran cantidad de nuevos empleos y ocupaciones. Los periodistas son comunicadores profesionales, por tanto, el oficio del community manager le presenta una gran oportunidad para ampliar su mercado laboral. Pero debe incrementar su conocimiento en las técnicas y herramientas del ámbito digital.
This curriculum vitae summarizes the educational and professional background of Sergey Victorovich Netesov. He received degrees in chemistry from Novosibirsk State University and higher degrees from Moscow State University and the D.I. Ivanovsky Institute of Virology. His positions have included roles at Novosibirsk State University and the State Research Center of Virology and Biotechnology. He has authored over 20 publications on topics related to influenza virus and hepatitis virus research.
SolidWorks 2000 is mechanical design software that allows users to quickly sketch ideas, experiment with features and dimensions, and produce models and drawings. This chapter provides an overview of system requirements for installing SolidWorks 2000, the installation process, service packs, and the SolidWorks website. Key points include needing Windows NT 4.0 or later, 64MB RAM minimum, 250MB hard disk space, and a serial number and registration code during installation.
Este documento presenta información sobre presentaciones y publicaciones en línea, almacenamiento en la nube y Web 2.0. Explica qué son las presentaciones en línea y cómo sitios como SlideShare permiten alojar presentaciones en la web para su visión más allá de los límites espacio-temporales originales. También resume cinco de los principales sitios para crear y compartir presentaciones en línea y describe brevemente características clave de Prezi, Slideroll, Spresent, OnlinePresenter y AuthorSTREAM.
Este documento proporciona un resumen del Proyecto Educativo de un colegio en España. Describe las características del centro, incluyendo su dirección, teléfonos, horarios, enseñanzas ofrecidas, servicios complementarios y proyectos. También resume los principios educativos del colegio, como la coeducación, integración, no discriminación y desarrollo integral de los estudiantes. El objetivo general es inculcar el respeto a los derechos democráticos y promover el desarrollo físico, intelect
Communication Skills - Northwest Medical Partnerspedenton
The document discusses effective communication skills. It provides a 15-question quiz to assess one's communication abilities. The questions cover areas like anticipating confusion, considering the audience's perspective, choosing the appropriate channel, and actively listening with attention to body language. A high score indicates strong communication skills, while a low score suggests areas for improvement, such as thinking more about how to effectively convey and receive messages. The document emphasizes the importance of effective communication in work and relationships.
Este documento presenta a toorange, una nueva firma de consultoría editorial con 20 años de experiencia y más de 60 publicaciones rediseñadas. El resumen describe los servicios que ofrece toorange como diseño, rediseño, custom publishing, reportes anuales, branding, generación de contenido y capacitación editorial. El objetivo de toorange es marcar la pauta en el mundo editorial a través de un equipo de especialistas con alta calidad y solvencia creativa.
Las nuevas tecnologías han generado una gran cantidad de nuevos empleos y ocupaciones. Los periodistas son comunicadores profesionales, por tanto, el oficio del community manager le presenta una gran oportunidad para ampliar su mercado laboral. Pero debe incrementar su conocimiento en las técnicas y herramientas del ámbito digital.
This curriculum vitae summarizes the educational and professional background of Sergey Victorovich Netesov. He received degrees in chemistry from Novosibirsk State University and higher degrees from Moscow State University and the D.I. Ivanovsky Institute of Virology. His positions have included roles at Novosibirsk State University and the State Research Center of Virology and Biotechnology. He has authored over 20 publications on topics related to influenza virus and hepatitis virus research.
El elefante es el mamífero terrestre más grande, puede medir hasta 6 metros de altura y pesar 7.5 toneladas. Las especies existentes son la africana y la asiática. Los elefantes usan sus grandes orejas para regular su temperatura y su larga trompa para alimentarse, comunicarse y defenderse. Deben pasar la mayor parte del día alimentándose debido a que su comida tiene poco valor nutricional.
El documento resume los conceptos clave de la magnetosfera terrestre y la actividad solar. Explica que el campo magnético solar variable interactúa con el viento solar, afectando la ionosfera terrestre y generando eventos como tormentas magnéticas. También describe cómo la radiación solar afecta las atmósferas planetarias y cómo los planetas sin campo magnético están más expuestos a las partículas del viento solar.
Human Resource Management involves activities to attract, retain, and develop employees to help achieve organizational goals. Key HRM functions include recruitment and selection, training and development, performance appraisal, compensation and rewards, employee relations, and safety and health. An organization's human resource department is typically led by an HR manager who oversees functions carried out by HR officers, training officers, labor relations officers, and administrative staff. The HR department aims to ensure the organization has the right employees and a supportive work environment.
Convocatoria Ctos de Andalucía Tiro con Arco Aire Libre 2016Ángel Estévez
La Federación Andaluza de Tiro con Arco convoca tres campeonatos que se celebrarán en Almería del 18 al 19 de junio: el Campeonato de Andalucía para divisiones varias y estándar, el Campeonato de Andalucía para cadetes y menores de edad, y el Campeonato de Andalucía Absoluto y Junior. Los arqueros interesados pueden inscribirse hasta el 12 de junio a través de la página web de la federación pagando una cuota.
El documento resume la historia de las revoluciones rusas y el origen de la Unión Soviética. Explica que la Rusia zarista tenía una estructura política, económica y social casi feudal que llevó a las revoluciones de 1905 y 1917. La Revolución de Octubre de 1917 estableció el primer Estado soviético bajo Lenin. Tras la guerra civil, Lenin aplicó la NEP para reconstruir la economía antes de su muerte. Stalin consolidó el Estado soviético e implementó los planes quinquenales para industrializar la Unión Sovi
Dear Sir/ Madam,
We Hope you are fine and your business as well as.
We have the opportunity to introduce ourselves as one of the Quality Manufacturers and Exporters, established in 1965. We came to know through reliable sources that you are importer of Surgical & Medical and Veterinary Instruments like Pliers, Scissors & Forceps all sorts.
For Pre-order please visit www.numisma.biz and inform us about your required products. You can Purchase all sorts of instrument sets and other products also on www.num-med.com. We can make all sorts of the quality instruments according to your requirement at very fair prices. We can send E-catalog & Samples for your sort approval if needed.
If you have any question or inquiries regarding to our company or products, please don't hesitate to contact us. Thanking you and waiting to hearing from you soon.
We remain,
Yours Faithfully,
Hassan Qayyum
(General Manager)
Numisma International
ISO-9001:2008, ISO 13485:2003, CE Marked
Plot No c 6-7 Near Gool Canteen, Street/ Block,
Small/ Industry/ Estate Sialkot (51310), Pakistan.
Our website; Numisma International
www.numisma.biz
info@numisma.biz
Hassan@numisma.biz
On line Store; Num-Med
www.num-med.com
info@num-med.com
Contact us;
Skype; numisma.biz
Tel; +92 (523) 250105
Fax; +92 (524) 605005
Mobile; +92 (333) 865 9005 SMS/ What’s App/ Viber
Head office; Ch. Street Taj Pure Sialkot (51310) Punjab, Pakistan.
These are 10 principles that summarise success. Of course this is only the tip of the iceberg, however a nice summary of what is to come. You should see more decks on personal development coming soon.
Presentación realizada por Rubén Santos en el I Foro de Innovación Biomédica, organizado por el Instituto de Investigación Sanitaria Aragón (IIS Aragón) el 6 de octubre de 2011.
The document discusses the political, economic, and social systems of 18th century Europe under the Old Regime. Politically, it describes the systems of absolute and parliamentary monarchy. Economically, it outlines the mercantilist system and agrarian economy dominated by subsistence farming. Socially, it addresses the stratified society of the estates of nobility, clergy, and commoners. The Enlightenment ideas challenged these systems by advocating reason, liberty, and progress.
Gates Toorcon X New School Information GatheringChris Gates
This document provides an overview of open source intelligence (OSINT) techniques for information gathering about a target domain. It discusses tools like Fierce, SEAT, Goolag for searching search engines; Google mail harvesters and Metagoofil for extracting emails and metadata; and online tools like ServerSniff and DomainTools. It emphasizes using Maltego to visualize relationships between data discovered and gain a fuller picture of the target domain, including IPs, servers, documents, and potential usernames without directly contacting the target's systems. The goal is developing an initial target list and insights that could enable further social engineering or client-side attacks.
Organigrama del servicio comarcal de deportes comarca cinco -villasCrónicas Marracos
El documento proporciona una lista de las instalaciones deportivas en los municipios de la Comarca de Cinco Villas, incluyendo piscinas, campos de fútbol, pistas polideportivas, frontones y otros espacios. Se enumeran más de 200 instalaciones repartidas en los diferentes pueblos de la comarca, detallando el nombre de cada municipio, instalación y espacio disponible.
La curación con símbolos usa símbolos como el sinus, líneas paralelas, cruces y letras griegas pintadas en la piel o traspasadas al agua para invertir información y curar problemas de salud. Algunos símbolos como cuatro líneas en la muñeca mejoran la salud general, mientras que nueve líneas en la espalda dan energía. El traspaso de información al agua se hace mirando un símbolo en una mano y el agua en la otra para convertirla en un remedio homeopático individual.
El documento discute la importancia de enseñar filosofía a niños para desarrollar un pensamiento complejo y una educación significativa. Mathew Lipman, en 1980, argumentó que si no enseñamos filosofía a los niños, les negamos una educación significativa y aseguramos que seguirán dominados por la ignorancia y la mediocridad. El documento también describe cómo el programa de "filosofía para niños" en un colegio femenino busca fortalecer competencias comunicativas y democráticas en las estudiantes.
Answering key questions on malaria drug delivery: 8 years of researchACT Consortium
Presentation by David Schellenberg
Director, ACT Consortium
Professor of Malaria & International Health at London School of Hygiene & Tropical Medicine
El documento resume el conocimiento histórico del Universo desde las primeras teorías geocéntrica y heliocéntrica hasta los descubrimientos modernos realizados mediante telescopios y sondas espaciales. Explica la formación y componentes del Sistema Solar, incluyendo los planetas interiores y exteriores, cuerpos menores como asteroides y cometas, y unidades de medida astronómicas. También describe brevemente las galaxias, nebulosas y la teoría del Big Bang sobre el origen del Universo
This thesis by Bailey Schurr examines consumer perceptions of animal welfare in production agriculture. The thesis is submitted in partial fulfillment of the requirements for a Master's degree in Agriculture Economics from New Mexico State University. The thesis is introduced and dedicated to the author's sister Kacey Schurr. An acknowledgments section thanks the author's advisor and committee members for their support and input during the thesis process.
El elefante es el mamífero terrestre más grande, puede medir hasta 6 metros de altura y pesar 7.5 toneladas. Las especies existentes son la africana y la asiática. Los elefantes usan sus grandes orejas para regular su temperatura y su larga trompa para alimentarse, comunicarse y defenderse. Deben pasar la mayor parte del día alimentándose debido a que su comida tiene poco valor nutricional.
El documento resume los conceptos clave de la magnetosfera terrestre y la actividad solar. Explica que el campo magnético solar variable interactúa con el viento solar, afectando la ionosfera terrestre y generando eventos como tormentas magnéticas. También describe cómo la radiación solar afecta las atmósferas planetarias y cómo los planetas sin campo magnético están más expuestos a las partículas del viento solar.
Human Resource Management involves activities to attract, retain, and develop employees to help achieve organizational goals. Key HRM functions include recruitment and selection, training and development, performance appraisal, compensation and rewards, employee relations, and safety and health. An organization's human resource department is typically led by an HR manager who oversees functions carried out by HR officers, training officers, labor relations officers, and administrative staff. The HR department aims to ensure the organization has the right employees and a supportive work environment.
Convocatoria Ctos de Andalucía Tiro con Arco Aire Libre 2016Ángel Estévez
La Federación Andaluza de Tiro con Arco convoca tres campeonatos que se celebrarán en Almería del 18 al 19 de junio: el Campeonato de Andalucía para divisiones varias y estándar, el Campeonato de Andalucía para cadetes y menores de edad, y el Campeonato de Andalucía Absoluto y Junior. Los arqueros interesados pueden inscribirse hasta el 12 de junio a través de la página web de la federación pagando una cuota.
El documento resume la historia de las revoluciones rusas y el origen de la Unión Soviética. Explica que la Rusia zarista tenía una estructura política, económica y social casi feudal que llevó a las revoluciones de 1905 y 1917. La Revolución de Octubre de 1917 estableció el primer Estado soviético bajo Lenin. Tras la guerra civil, Lenin aplicó la NEP para reconstruir la economía antes de su muerte. Stalin consolidó el Estado soviético e implementó los planes quinquenales para industrializar la Unión Sovi
Dear Sir/ Madam,
We Hope you are fine and your business as well as.
We have the opportunity to introduce ourselves as one of the Quality Manufacturers and Exporters, established in 1965. We came to know through reliable sources that you are importer of Surgical & Medical and Veterinary Instruments like Pliers, Scissors & Forceps all sorts.
For Pre-order please visit www.numisma.biz and inform us about your required products. You can Purchase all sorts of instrument sets and other products also on www.num-med.com. We can make all sorts of the quality instruments according to your requirement at very fair prices. We can send E-catalog & Samples for your sort approval if needed.
If you have any question or inquiries regarding to our company or products, please don't hesitate to contact us. Thanking you and waiting to hearing from you soon.
We remain,
Yours Faithfully,
Hassan Qayyum
(General Manager)
Numisma International
ISO-9001:2008, ISO 13485:2003, CE Marked
Plot No c 6-7 Near Gool Canteen, Street/ Block,
Small/ Industry/ Estate Sialkot (51310), Pakistan.
Our website; Numisma International
www.numisma.biz
info@numisma.biz
Hassan@numisma.biz
On line Store; Num-Med
www.num-med.com
info@num-med.com
Contact us;
Skype; numisma.biz
Tel; +92 (523) 250105
Fax; +92 (524) 605005
Mobile; +92 (333) 865 9005 SMS/ What’s App/ Viber
Head office; Ch. Street Taj Pure Sialkot (51310) Punjab, Pakistan.
These are 10 principles that summarise success. Of course this is only the tip of the iceberg, however a nice summary of what is to come. You should see more decks on personal development coming soon.
Presentación realizada por Rubén Santos en el I Foro de Innovación Biomédica, organizado por el Instituto de Investigación Sanitaria Aragón (IIS Aragón) el 6 de octubre de 2011.
The document discusses the political, economic, and social systems of 18th century Europe under the Old Regime. Politically, it describes the systems of absolute and parliamentary monarchy. Economically, it outlines the mercantilist system and agrarian economy dominated by subsistence farming. Socially, it addresses the stratified society of the estates of nobility, clergy, and commoners. The Enlightenment ideas challenged these systems by advocating reason, liberty, and progress.
Gates Toorcon X New School Information GatheringChris Gates
This document provides an overview of open source intelligence (OSINT) techniques for information gathering about a target domain. It discusses tools like Fierce, SEAT, Goolag for searching search engines; Google mail harvesters and Metagoofil for extracting emails and metadata; and online tools like ServerSniff and DomainTools. It emphasizes using Maltego to visualize relationships between data discovered and gain a fuller picture of the target domain, including IPs, servers, documents, and potential usernames without directly contacting the target's systems. The goal is developing an initial target list and insights that could enable further social engineering or client-side attacks.
Organigrama del servicio comarcal de deportes comarca cinco -villasCrónicas Marracos
El documento proporciona una lista de las instalaciones deportivas en los municipios de la Comarca de Cinco Villas, incluyendo piscinas, campos de fútbol, pistas polideportivas, frontones y otros espacios. Se enumeran más de 200 instalaciones repartidas en los diferentes pueblos de la comarca, detallando el nombre de cada municipio, instalación y espacio disponible.
La curación con símbolos usa símbolos como el sinus, líneas paralelas, cruces y letras griegas pintadas en la piel o traspasadas al agua para invertir información y curar problemas de salud. Algunos símbolos como cuatro líneas en la muñeca mejoran la salud general, mientras que nueve líneas en la espalda dan energía. El traspaso de información al agua se hace mirando un símbolo en una mano y el agua en la otra para convertirla en un remedio homeopático individual.
El documento discute la importancia de enseñar filosofía a niños para desarrollar un pensamiento complejo y una educación significativa. Mathew Lipman, en 1980, argumentó que si no enseñamos filosofía a los niños, les negamos una educación significativa y aseguramos que seguirán dominados por la ignorancia y la mediocridad. El documento también describe cómo el programa de "filosofía para niños" en un colegio femenino busca fortalecer competencias comunicativas y democráticas en las estudiantes.
Answering key questions on malaria drug delivery: 8 years of researchACT Consortium
Presentation by David Schellenberg
Director, ACT Consortium
Professor of Malaria & International Health at London School of Hygiene & Tropical Medicine
El documento resume el conocimiento histórico del Universo desde las primeras teorías geocéntrica y heliocéntrica hasta los descubrimientos modernos realizados mediante telescopios y sondas espaciales. Explica la formación y componentes del Sistema Solar, incluyendo los planetas interiores y exteriores, cuerpos menores como asteroides y cometas, y unidades de medida astronómicas. También describe brevemente las galaxias, nebulosas y la teoría del Big Bang sobre el origen del Universo
This thesis by Bailey Schurr examines consumer perceptions of animal welfare in production agriculture. The thesis is submitted in partial fulfillment of the requirements for a Master's degree in Agriculture Economics from New Mexico State University. The thesis is introduced and dedicated to the author's sister Kacey Schurr. An acknowledgments section thanks the author's advisor and committee members for their support and input during the thesis process.
Gömülü Cihaz Güvenliği ve Zollard Botnet AnaliziIbrahim Baliç
Baliç Bilişim olarak 2014 yılı içerisinde “Gömülü Cihaz Güvenliği” başlığı altında bazı araştırmalar gerçekleştirdik. Bu araştırmalar sayesinde ilginç bulgular elde ettik. İnternet alt yapısının omurgası sayılabilecek router cihazları başta olmak üzere bir çok gömülü cihazın tehdit altında olduğunu tespit ettik.
Dünya nadiren herhangi bir konuda fikir birliğine varıyor, ancak hemen hemen herkes 2020'yi geride bırakmanın iyi bir şey olduğu konusunda hemfikir.
Birçok yönden, geçen yılın siber tehdit ortamını yeniden gözden geçirmek yerine taşınmayı da tercih ederdik. Ancak beğenin ya da beğenmeyin, 2020
yankıları hem fiziksel hem de dijital dünyada 2021'e yansımaya devam ediyor ve bu gerçeği görmezden geliyoruz. Bu nedenle, daha iyi ve daha güvenli
bir geleceğe ilerleyebilmek için 2020'nin ikinci yarısına (2H 2020) geri dönüyoruz. Lütfen bize katıl.
1. T.C.
BEYKENT ÜNİVERSİTESİ
FEN BİLİMLERİ ENSTİTÜSÜ
BİLGİSAYAR MÜHENDİSLİĞİ ANABİLİM DALI
BİLGİSAYAR MÜHENDİSLİĞİ BİLİM DALI
MOBİL İŞLETİM SİSTEMLERİNDE GÜVENLİK
( Yüksek Lisans Projesi )
Projeyi Hazırlayan:
Fuat SAVAŞ
İSTANBUL, 2015
2. T.C.
BEYKENT ÜNİVERSİTESİ
FEN BİLİMLERİ ENSTİTÜSÜ
BİLGİSAYAR MÜHENDİSLİĞİ ANABİLİM DALI
BİLGİSAYAR MÜHENDİSLİĞİ BİLİM DALI
MOBİL İŞLETİM SİSTEMLERİNDE GÜVENLİK
( Yüksek Lisans Projesi )
Projeyi Hazırlayan:
Fuat SAVAŞ
Öğrenci No:
110820031
Danışman:
Yrd. Doç. Dr. Ediz ŞAYKOL
İSTANBUL, 2015
3. YEMİN METNİ
Yüksek lisans projesi olarak sunduğum “ Mobil İşletim Sistemlerinde Güvenlik ”
başlıklı bu çalışmanın, bilimsel ahlak ve geleneklere uygun şekilde tarafımdan
yazıldığını, yararlandığım eserlerin tamamının kaynaklarda gösterildiğini ve
çalışmamın içinde kullanıldıkları her yerde bunlara atıf yapıldığını belirtir ve bunu
onurumla doğrularım. ( 29.01.2015 )
Fuat SAVAŞ
4.
5. TEŞEKKÜR
Proje çalışmalarım esnasında bana yardımcı olan proje danışmanım Beykent
Üniversitesi Yrd. Doç. Dr. Ediz ŞAYKOL'a ve manevi desteğini üzerimden hiç eksik
etmeyen rahmetli validem Ayşe SAVAŞ hanımefendiye teşekkür ederim.
Fuat SAVAŞ
6. I
MOBİL İŞLETİM SİSTEMLERİNDE GÜVENLİK
Projeyi Hazırlayan: Fuat SAVAŞ
ÖZET
Türkiye'de mobil cihaz kullanımının her geçen gün yaygınlaşmasıyla birlikte
kullanıcılar tıpkı masaüstü ve dizüstü bilgisayarlarda olduğu gibi mobil cihazlarda da
artık belli başlı özellikler aramaktadırlar. Bunlar; işletim sistemi, tasarım, alışkanlık
ve diğer teknik özelliklere göre değişmektedir. Fakat mesleki sebepler dışında
güvenlik konusunu umursayan pek kimse yok ne yazık ki.
Oysa Mobil uygulama geliştiricisi Lookout'un yayınladığı "2013 Mobil Güvenlik
Öngörüleri" başlıklı raporda web tabanlı mobil tehditler, 2013 yılı içinde
kullanıcıların en çok dikkat etmesi gereken tehditler arasında başta yer almaktadır.
Ortada yeterince kimsenin farkında olmadığı çok ciddi bir güvenlik riski
bulunmaktadır. Burada önemli olan henüz yeni gelişmekte olan bu mobil hacking
karşısında önlem almaktır.
Mobil cihazların hacklenmesiyle birlikte bilgisayarlardan farklı olarak telefon
rehberimiz, mesajlarımız, sosyal medya bilgilerimiz, mobil uygulamalardaki
verilerimizde tamamen kötü niyetli kişilerin eline geçebilecek. Bu muhtemel
sorunları telefonları kullanım amaçlarına göre çeşitlendirebiliriz.
Anahtar Kelimeler: Android, IOS, API, Sandbox, Linux.
7. II
SECURITY ON MOBILE OPERATING SYSTEMS
Prepared by Fuat SAVAŞ
ABSTRACT
Users demand some special features from mobile devices as in laptop and desktop
computers in line with gradually increasing usage of them. Those features vary
according to operating systems, designs, habits and other technical specialities.
However, nobody unfortunately cares about security issues except occupational
reasons. In fact, web based mobile threats comes first within the most noticable ones
indicated by the “Mobile Security Projections” report which has been published by
Lookout, mobile application developer.
There is a very important security risk outstanding that nobody be aware of. The
most important point is here to take measures against this newly developing mobile
hacking.
With the mobile hacking, unlike in computers, bad persons will be able to get our
telephone books, messages, social media user infos and our dats in mobile
applications. We can categorize those potential problems in terms of our aims to use
mobile devices.
Key Words: Android, IOS, API, Sandbox, Linux
8. III
İÇİNDEKİLER
ÖZET .......................................................................................................................... I
ABSTRACT ............................................................................................................. II
ŞEKİLLER LİSTESİ............................................................................................ VII
KISALTMALAR LİSTESİ ................................................................................ VIII
1. GİRİŞ ...................................................................................................................... 1
2. IOS GÜVENLİK.................................................................................................... 1
2.1. SİSTEM MİMARİSİ ..................................................................................... 2
2.1.1. GÜVENLİK ÖNYÜKLEME ZİNCİRİ .................................................. 2
2.1.2. SİSTEM YAZILIMI KİŞİSELLEŞTİRME............................................. 3
2.1.3. UYGULAMA KOD İMZALAMA ......................................................... 4
2.1.4. ÇALIŞMA ZAMANI İŞLEM GÜVENLİĞİ .......................................... 5
2.2. AĞ GÜVENLİĞİ ........................................................................................... 7
2.2.1. SSL, TSL ................................................................................................. 7
2.2.2. VPN ......................................................................................................... 7
2.2.3. WI - FI ..................................................................................................... 8
2.2.4. BLUETOOTH ......................................................................................... 8
2.3. VERİ KORUMA VE ŞİFRELEME............................................................. 9
2.3.1. DONANIM VE GÜVENLİK ÖZELLİKLERİ........................................ 9
2.3.2. DOSYA VERİLERİNİ KORUMA........................................................ 10
2.3.3. GEÇİŞ KODLARI ................................................................................. 11
2.3.4. ANAHTARLIK VERİ KORUMA ........................................................ 14
2.3.5. KEYBAGS ........................................................................................... 16
2.4. CİHAZ ERİŞİMİ ......................................................................................... 18
2.4.1. GEÇİŞ KODU KORUMASI ................................................................. 18
13. VIII
KISALTMALAR LİSTESİ
API : Application Programming Interface (Uygulama Programlama Arabirimi)
IPC : Inter Process Communication ( İşlemler Arası İletişim )
SSP : System Software Personalization ( Sistem Yazılımı Kişiselleştirme )
OTA : Over The Air ( Şebeke Üzerinden )
GCM : Galois Counter Mode ( Galois Sayaç Modu )
MDM : Mobile Device Management ( Mobil Cihaz Yönetimi )
SDK : Software Development Kit ( Yazılım Geliştirme Kiti )
LLB : Low Level Bootloader ( Düşük Seviye Önyükleme Yükleyicisi )
DFU : Device Firmware Upgrade ( Cihaz Yazılım Yükseltmesi )
RNG : Random Number Generator ( Rastgele Sayı Üreteci )
APK : Android Package ( Android Paketi )
OEM : Original Equipment Manufacturer ( Orijinal Ekipman Üreticisi )
RIL : Radio Interface Layer ( Radyo Arabirimi Katmanı )
NDA : Non-Disclosure Agreement ( Gizlilik Sözleşmesi )
GID : Group Identity Device ( Aygıt Grup Kimliği )
DRM : Dijital Rights Management ( Dijital Haklar Yönetimi )
ARM : Acorn Risc Machine ( Acorn Risk Makinesi )
UID : Unique Identity Device ( Cihazın Benzersiz Bir Kullanıcı Kimliği )
ECID : Device Unique Identity Device (Cihazın Benzersiz Kullanıcı Kimliği )
SKAG : Shared Keychain Access Groups (Paylaşılan Anahtarlık Erişim Gruplar)
ASLR : Address Space Layout Randomization (Adres Alanı Düzeni Rastgelesi)
UI : User Interface ( Kullanıcı Arabirimi )
IV : Initialization Vector ( Başlangıç Vektörü )
APNS : Apple Push Notification Service ( Apple Push Bildirim Hizmeti )
14. 1
1.GİRİŞ
Mobil İşletim Sistemleri, akıllı telefonlar ve tablet bilgisayarlar için üretilmiş
yazılımlardır. Bugün dünyada en yaygın ve bilinenleri IOS ve Android'tir. Bu iki
işletim sistemi dışında 3.cü olarak Windows Phone bulunmaktadır. Ayrıca, Firefox
4.cü olarak mobil işletim sistemi piyasasına güçlü bir giriş yapmak için
hazırlanmaktadır. IOS yalnızca Apple ve Windows Phone yalnızca Sony Ericsson
akıllı telefonlarında kullanılırken Android ise Samsung, Htc, Huawei, LG, Acer ve
General Mobile gibi birçok akıllı telefonda kullanılmaktadır. Böylelikle, pazarın
aslan payına sahiptir fakat IOS'ta Apple çatısı altında olmasının avantajıyla hatırı
sayılır bir paya sahiptir.
Android, açık kaynak kodlu bir yazılım olduğu için birçok yazılımcı tarafından da
sempati görmektedir. IOS'un, her ne kadar yerleşik güvenlik önlemleri bakımından
daha güvenli olduğu söylense de Android cihazların kullanımının kolaylığı hakkında
kullanıcılar arasında fikirbirliği vardır.
Her iki işletim sistemi de kendilerinin kullanıcı güvenliğini sağlama da daha
güvenilir olduklarını belirtselerde kullanıcıların ezici bir çoğunluğunun birçok dahili
ve harici olmak üzere birçok güvenlik önleminden habersiz oldukları bilinen bir
gerçektir. Kullanıcılar, akıllı telefonlarını sosyal medya, ücretsiz sohbet uygulamaları
ve kamera / fotoğraf makinesi olarak kullanmaktan ibaret gördüğü için veri güvenliği
konusunda duyarsızdır. Hangi işlev için kullanılır olursa olsun bilinçsiz kullanım
sonucunda mail, mesaj, rehber, banka, adres, fotoğraf, bireysel ve kurumsal tüm bilgi
ile belgelerin kötü niyetli insanların eline geçmesi ciddi bir risktir.
2. IOS GÜVENLİK
Mobil cihazlarda bilgi güvenliği ister kişisel ister kurumsal kullanıcı için olsun
oldukça önemlidir. Çünkü; müşteri veya kullanıcı, kişisel veya kurumsal
farketmeksizin bilgilerini depolamaktadır. IOS cihazlar, her kullanıcının bilgisinin
güvenli olması gerektiğinden yola çıkarak güçlü güvenlik teknolojileri sağlamaktadır
ve aynı zamanda kullanımı kolaydır. Cihazlar, güvenliği mümkün olduğunca şeffaf
yapmak için tasarlandığından güvenlik özelliklerinin çoğu varsayılan olarak etkindir
bu yüzden bilgi teknolojisi departmanları kapsamlı yapılandırmalar gerçekleştirmeye
ihtiyaç duymaz. Örneğin; cihaz şifreleme gibi bazı temel özellikler yapılandırılabilir
değildir, böylelikle kullanıcılar yanlışlıkla bunları devre dışı bırakamaz [5].
15. 2
IOS cihazlar güvenlik katmanlarıyla tasarlanmıştır. Düşük düzey donanım ve
yazılım özellikleri, kötü amaçlı yazılımlara ve virüslere karşı koruma sağlar. Üst
düzey işletim sistemi özellikleri, kişisel ve kurumsal bilgilerinize güvenli erişime izin
verir ve yetkisiz kullanım ile saldırıları önlemeye yardımcı olur. IOS güvenlik
modeli, mobil kullanım senkronizasyon ve 3.parti uygulamaları etkinleştirirken
bilgileri korur. Sistemin çoğu endüstri standardı güvenli tasarım ilkelerine dayanır.
2.1. SİSTEM MİMARİSİ
IOS cihazlarda yazılım ve donanımın sıkı entegrasyonu cihazın tüm katmanları
arasındaki faaliyetlerin onaylanmasına izin verir. IOS, yazılım yükleme ve 3.parti
uygulamalar sayesinde ilk açılıştan itibaren her bir aşamada her kaynağın düzgün
kullanıldığından ve faaliyetlerin güvenilir olduğundan emin olmak için analiz edilir
ve onaylanır [5].
Sistem çalışmaya başladıktan sonra bu entegre güvenlik mimarisi, XNU' nun
güvenilirliği ve bütünlüğüne bağlıdır. XNU, güvenlik özelliklerini zamanında
çalışmaya zorlar, üst düzey fonksiyonlar ve uygulamalara güvenmek için gereklidir.
2.1.1. GÜVENLİ ÖNYÜKLEME ZİNCİRİ
Açılış işleminin her adımı bütünlüğü sağlamak için Apple tarafından imzalanmış
şifreli bileşenleri içerir ve sadece güven zinciri doğruladıktan sonra devam eder. Bu
önyükleme yükleyiciler; çekirdek, çekirdek uzantıları ve baseband yazılım içerir.
Bir IOS cihaz açık olduğunda, uygulama işlemcisi hemen Boot ROM olarak bilinen
salt okunur bellek üzerinden kodu çalıştırır. Bu değişmez kod, çip üretim sırasında
koyulur ve dolaylı olarak güvenilirdir. Boot ROM kodu, LLB yüklemek için izin
vermeden önce Apple tarafından imzalanmış olduğunu doğrulamak için kullanılan
Apple Kök CA ortak anahtarı içerir. Bu, her adımın bir sonrakisinin Apple tarafından
imzalanmış olmasını sağlayan güven zincirinin ilk adımıdır. LLB görevlerini
bitirdiğinde, bu doğrular ve sonraki aşama Önyükleme yükleyicisi sırayla doğrular ve
IOS çekirdeği çalışır.
Bu güvenli önyükleme zinciri, bu yazılımın en düşük seviyelerinin tahrif
edilmemesini sağlar ve IOS yalnızca doğrulanmış Apple cihazları çalıştırmak için
izin verir [5].
16. 3
Eğer bu önyükleme işleminin bir adımı yükleme veya sonrasında doğrulama
yapamıyorsa, boot-up durur ve cihaz "i-Tunes' a bağlayın" ekranını görüntüler. Bu
kurtarma modu olarak adlandırılır. Eğer Boot ROM bile, LLB yüklemek veya
doğrulamak için mümkün değilse DFU moduna girer. Her iki durumda da, cihaz
USB ile iTunes'a bağlanmalı ve varsayılan fabrika ayarlarına geri yüklenmelidir.
DFU MODUNA GİRME
DFU moduna, hem Home hem de Sleep / Wake tuşlarına basılı tutarken, USB
kablosu kullanarak cihazı bir bilgisayara manuel olarak bağlayarak girilebilir. 8
saniye geçtikten sonra Home tuşuna basılı tutmaya devam ederken Sleep / Wake
tuşunu serbest bırakın.
NOT: DFU modunda ekranda hiçbirşey görüntülenmeyecek. Apple logosu
görülürse Sleep / Wake tuşuna uzun süre basılı tutun. Geri yüklenen bir cihaz DFU
moduna girdikten sonra yalnızca Apple imzalı değiştirilmemiş mevcut kod ile
kesinlikle bilinen iyi bir duruma geri döner.
2.1.2. SİSTEM YAZILIMI KİŞİSELLEŞTİRME
Apple, ortaya çıkan güvenlik endişelerini gidermek için düzenli olarak yazılım
güncellemeleri yayımlar. Bu güncellemeler, destekleyen tüm cihazlar için aynı anda
sağlanır.
Kullanıcılar; cihaz üzerinde ve iTunes üzerinden IOS güncelleme bildirimlerini alır
ve güncellemeler kablosuz olarak teslim edilir, son güvenlik düzeltmeleri hızla
benimsenir.
Yukarıda açıklanan önyükleme işlemi, sadece Apple imzalı kodun bir cihazda yüklü
olmasını sağlar. Cihazları en son güvenlik güncelleştirmelerinden yoksun eski
sürümlere döndürmemek için, IOS SSP denilen bir işlem kullanır. Eğer gerileştirme
mümkün olsaydı, bir saldırgan IOS'un eski bir sürümünü yükleyebilir ve cihazın yeni
sürümde elde ettiği giderilmiş olan bir güvenlik açığından yararlanabilirdi.
IOS yazılım güncellemeleri iTunes kullanarak veya cihaz üzerindeki OTA üzerinden
yüklenebilir. iTunes ile IOS'un tam bir kopyası indirilir ve yüklenir. OTA yazılım
güncelleştirmeleri ağ verimliliği için deltalar gibi sağlanmaktadır.
17. 4
IOS yükleme veya yükseltme sırasında, Apple kurulum yetkilendirme sunucusuna
bağlanır ve ECID, rastgele bir antireplay değeri ve yükleme paketinin yüklenecek her
bölümü ( LLB, iBoot, çekirdek ve OS görüntü ) için şifreleme ölçümlerinin listesini
gönderir.
Sunucu, sürümlere karşı yükleme izni için ölçümlerin sunulan listesini denetler, eğer
bir eşleşme bulursa, ölçüme ECID ekler ve sonucu imzalar. İmzalanan verilerin
komple tam dizisi, sunucudan yükleme veya yükseltme sürecinin bir parçası olarak
cihaza geçirilir. ECID ekleme, talep eden cihaz için "kişiselleştiren"
yetkilendirmedir. Sunucu, bilinen ölçümler için yetkilendirerek ve sadece
imzalayarak Apple tarafından sağlanan güncelleştirmenin tam olmasını sağlar.
Önyükleme süresi; imza ile kaplı eşleşme, cihazın benzersiz kimliği ile birlikte
diskten yüklenen öğenin ölçümü ve Apple'den imzalı gelen güven değerlendirme
zincirini doğrular.
Bu adımlar yetkilendirme sağlar ve belirli bir cihaz için eski bir IOS sürümü bir
cihazdan diğerine kopyalanamaz. Antireplay, saldırganın sunucunun yanıtını
kaydetmesini ve bunu kullanarak kullanıcının cihazı gelecekte downgrade için
kullanmasını önler.
2.1.3. UYGULAMA KOD İMZALAMA
IOS çekirdek başladıktan sonra, kullanıcı işlemlerini ve uygulamaları çalıştırmayı
kontrol edebilir. Tahrif edilmemiş, bilinen ve onaylanmış bir kaynaktan gelen tüm
uygulamaları sağlamak için IOS ile Apple tarafından verilmiş bir sertifikayı
kullanarak tüm kod çalıştırılabilir. 3.parti uygulamalar doğrulanmış ve Apple
tarafından verilmiş bir sertifika kullanılarak imzalanmış olmalıdır. Zorunlu kod
imzalama, işletim sistemi uygulamaları için güven zinciri kavramını genişletir.
3.parti uygulamalar, imzasız kod kaynakları veya kendini değiştiren kodu kullanarak
yüklenmesini engeller.
Geliştiriciler, IOS cihazlarda uygulamalar kurmak ve geliştirmek için Apple ile kayıt
olmalı ve IOS geliştirici programına katılmalıdır. Her geliştiricinin gerçek dünyadaki
kimliği, ister bir birey veya faaliyet olsun onların sertifikası verilmeden önce Apple
tarafından doğrulanır [5].
18. 5
Bu sertifika uygulamaları imzalamak için geliştiricilere olanak sağlar ve onları
dağıtım için Apple Store'a teslim eder. Sonuç olarak, Apple Store'daki tüm
uygulamalar, kötü niyetli uygulamalar oluşturulması için bir caydırıcı olarak hizmet
veren tanımlanabilir bir kişi veya kuruluş tarafından teslim edilmiştir.
İşletmeler ayrıca şirket içi uygulamaları kendi bünyesinde kullanılmak üzere
çalışanlara dağıtmak için yazma yeteneğine sahiptir. İşletmeler ve kuruluşlar, bir D-
U-N-S numarası ile IOS geliştirici Enterprise programına başvurabilir. Apple, kimlik
ve uygunluğunu kontrol ettikten sonra başvuruyu onaylar. Bir organizasyon IDEP
üyesi olduktan sonra, bu yetki cihazlarda çalıştırmak için organizasyon içi
uygulamalara izin veren bir "hazırlama profili" elde etmek için kayıt olunabilinir.
Kullanıcılar, organizasyon için uygulamaları çalıştırmak için hazırlama profili yüklü
olmalıdır. Bu yalnızca, kuruluşun hedeflenen kullanıcıların IOS cihazlar üzerine
uygulamaları yüklemesinin mümkünlüğünü sağlar.
Diğer mobil platformların aksine IOS, kullanıcıların kötü amaçlı imzasız
uygulamaları web sitelerinden yüklemeye veya güvenilmeyen kod çalıştırmasına izin
vermez. Çalışma zamanında, bir uygulamanın son güncelleme veya yüklemeden
sonra değiştirilmemişliğini sağlamak için onları yüklü oldukları gibi tüm
çalıştırılabilir bellek sayfalarının kod imza kontrolleri yapılır.
2.1.4. ÇALIŞMA ZAMANI İŞLEM GÜVENLİĞİ
Bir uygulama onaylanmış bir kaynaktan doğrulandıktan sonra, IOS diğer
uygulamalar veya sistemin geri kalanını garantiye almak için güvenlik önlemlerini
güçlendirir.
Tüm 3.parti uygulamalar "sandboxed" yani korumalıdır, bu yüzden onların diğer
uygulamalar tarafından depolanan dosyalara erişmesi veya cihazda değişiklik
yapması kısıtlıdır. Bu, uygulamaların diğer uygulamalar tarafından depolanan
bilgileri değiştirmelerini veya toplamalarını engeller. Her uygulamanın, dosyaları
için uygulama kurulduğunda rastgele atanmış benzersiz bir giriş dizini vardır.
Bir 3. parti uygulamanın kendi dışındaki bilgilere erişmesi gerekiyorsa sadece
API'ler ve IOS tarafından sağlanan hizmetleri kullanarak yapar. Sistem dosyaları ve
kaynakları da kullanıcının uygulamalarından korumalıdır. IOS çoğunluğu, tüm
3.parti uygulamaları gibi ayrıcalıklı olmayan "mobil" kullanıcı gibi çalışır.
19. 6
Tüm işletim sistemi bölümü salt okunur monte edilmiştir. Böyle uzaktan oturum
açma hizmetleri gibi gereksiz araçlar sistem yazılımına dahil değildir ve API'ler,
uygulamalara diğer uygulamaların veya IOS'un kendi ayrıcalıklarını değiştirmesi için
yükseltmesine izin vermez [5].
3.parti uygulamalar ile kullanıcı bilgi ve özelliklerine erişim, iCloud gibi yetki
bildirimleri kullanılarak kontrol edilir. Yetkilerin, bir uygulama için imzalanmış olan
şifre / değer çiftleri vardır ve UNIX kullanıcı kimliği gibi çalışma zamanı
faktörlerinin haricinde kimlik doğrulamasına izin verir. Yetkiler, dijital olarak
imzalanmış olduğundan değiştirilemez. Yetkiler, sistem uygulamaları ve araçlar
tarafından ayrıcalıklı belirli işlemler için yoğun olarak kullanılmaktadır aksi taktirde
"root" olarak çalıştırmak için işlem gerekir. Bu büyük ölçüde sistem uygulaması
veya araçlar tarafından bir uzlaşmayla ayrıcalık yükseltme olasılığını azaltır.
Uygulamalar sadece sistem tarafından sağlanan API'ler sayesinde arka plan işlemi
gerçekleştirebilir. Bu, uygulamaların performansını düşürmeden veya pil ömrünü
önemli ölçüde etkilemeden işlevine devam etmesini sağlar. Uygulamalar birbirleri ile
doğrudan veri paylaşmaz; paylaşım, uygulamalar özel URL şemalarını kullanarak
yalnızca hem alma hem gönderme veya SKAG aracılığıyla gerçekleştirilebilir.
ASLR, bellek bozulması hatalarını sömürüye karşı korur. Yerleşik uygulamalar, tüm
bellek bölgelerinin rastgele başlatılmasını sağlamak için ASLR kullanır. İlaveten,
cihaz her açılışta sistem paylaşılan kütüphane konumlarını rastgele seçer. Xcode IOS
geliştirme ortamı, açık ASLR desteği ile otomatik olarak 3.parti programları derler.
Daha fazla koruma, IOS'un ARM'nin bellek sayfalarını yürütülemez olarak
işaretleyen Execute Never özelliğini kullanmasıyla sağlanmaktadır. Hem yazılabilir
hem de yürütülebilir olarak işaretlenmiş bellek sayfaları sıkı şekilde denetlenen
koşullar altında yalnızca uygulamalar tarafından kullanılabilir:
Çekirdek, sadece Apple'ın varlığı için "dinamik kod imzalama" yetkisini denetler. O
zaman bile, rastgele seçme adresi verilen yürütülebilir ve yazılabilir bir sayfa istemek
için sadece tek bir "mmap" çağrı yapılabilir. Safari, bu işlevi kendi JavaScript JIT
derleyicisi için kullanır.
20. 7
2.2. AĞ GÜVENLİĞİ
Mobil kullanıcıların, dünyanın herhangi bir yerinden kurumsal bilgi ağlarına
erişmesi gerekebilir, bu yüzden onların yetkilerini ve veri iletimi sırasında
korunmasını sağlamak önemlidir. IOS, kimliği doğrulanmış yetkili ve şifreli iletişim
için standart ağ protokollerini kullanır ve geliştirici erişimi sağlar. IOS, hem Wi-Fi
hem de hücresel veri ağ bağlantıları için kanıtlanmış teknolojiler ve bu güvenlik
hedeflerini gerçekleştirmek için en son standartları sağlar.
Diğer platformlarda, çok sayıda açık iletişim portlarını izinsiz girişlere karşı
korumak için güvenlik duvarı yazılımı gereklidir. Çünkü, IOS dinlenme bağlantı
portlarını sınırlayarak azaltılmış bir saldırı yüzeyini elde eder ve telnet, kabuklar
veya bir web sunucusu gibi gereksiz ağ programlarını kaldırır, bu güvenlik duvarı
yazılımı gerektirmez. Ayrıca; iMessage, Facetime ve APNS kullanarak iletişim
tamamen şifrelenir ve kimlik doğrulanır.
2.2.1. SSL, TSL
IOS, DTLS ve Aktarım Katmanı Güvenliği ( TLS v1.1, TLS v1.2 ) gibi Güvenli
Yuva Katmanı'nı ( SSL v3 ) da destekler. Safari, Takvim, Mail ve diğer internet
uygulamaları ağ hizmetleri ve cihaz arasında şifreli bir iletişim kanalı etkinleştirmek
için otomatik olarak bu mekanizmaları kullanır. Düşük seviyeli ( SecureTransport )
API'ler "ince taneli kontrolü" sağlarken, Yüksek seviyeli ( CFNetwork gibi ) API'ler
geliştiricilerin kendi uygulamalarında TLS benimsemesini kolaylaştırır [4].
2.2.2. VPN
Güvenli ağ hizmetleri, sanal özel ağ gibi tipik olarak IOS cihazlar ile çalışmak için
en az kurulum ve yapılandırma gerektirir. IOS cihazlar, aşağıdaki protokolleri ve
kimlik doğrulama yöntemlerini destekleyen VPN sunucuları ile çalışır:
* Apple Store'dan uygun istemci uygulaması kullanarak Juniper Networks, Cisco,
Aruba Networks, SonicWALL, Check Point, and F5 Networks SSL-VPN
Bu uygulamalar, yerleşik IOS desteği için kullanıcı kimlik doğrulaması sağlar.
* Şifre, RSA SecurID veya CRYPTOCard tarafından kullanıcı kimlik doğrulaması
ile Cisco IPSec ve paylaşılmış gizlilik ve sertifikalar ile makine kimlik doğrulaması
21. 8
* Cisco IPSec, cihaz yapılandırması sırasında belirtilen etki alanları için VPN On
Demand'ı destekler.
* MS-CHAPV2 şifre, RSA SecurID veya CRYPTOCard tarafından kullanıcı kimlik
doğrulaması ile L2TP/IPSec ve paylaşılmış gizlilik ve sertifikalar ile makine kimlik
doğrulaması
* MS-CHAPV2 şifre, RSA SecurID veya CRYPTOCard tarafından kullanıcı kimlik
doğrulaması ile PPTP
IOS, sertifika tabanlı kimlik doğrulaması kullanan ağlar için VPN On Demand'ı
destekler. Bilgi Teknolojileri politikaları, hangi etki alanlarının bir yapılandırma
profili kullanarak bir VPN bağlantısı gerektirdiğini belirler.
2.2.3. WI - FI
IOS, kablosuz kurumsal ağlara kimliği doğrulanmış erişim sağlamak için WPA2
Kurumsal dahil olmak üzere endüstri standardı Wi-Fi protokollerini destekler.
WPA2 Kurumsal, veri gönderirken kullanıcılara en yüksek seviyede güvence
vererek 128-bit AES şifreleme kullanır ve Wi-Fi üzerinden veri alır. 802.1X desteği
ile IOS cihazlar, RADIUS kimlik doğrulama ortamlarında geniş bir yelpazeye
entegre edilebilir. 802.1X, iPhone ve iPad'te EAP-TLS, EAP-TTLS, EAP-FAST,
EAP-SIM, PEAPv0, PEAPv1, ve LEAP dahil kablosuz kimlik doğrulama
yöntemlerini destekler [4].
2.2.4. BLUETOOTH
IOS'un Bluetooth desteği gereksiz yere artan özel veriye erişim olmadan yararlı
işlevsellik sağlamak üzere tasarlanmıştır. IOS cihazlar; Şifreleme Modu 3, Güvenlik
Modu 4 ve Servis Seviyesi 1 bağlantılarını destekler.
IOS, aşağıdaki Bluetooth profillerini destekler:
* Eller serbest profili ( HFP 1.5 )
* Telefon defteri erişim profili ( PBAP )
* Gelişmiş ses dağıtım profili ( A2DP )
* Ses / video uzaktan kumanda profili ( AVRCP )
* Kişisel alan ağı profili ( PAN )
* İnsan arabirim cihaz profili ( HID )
22. 9
2.3. VERİ KORUMA VE ŞİFRELEME
Güvenli önyükleme zinciri, kod imzalama ve çalışma zamanı işlem güvenliğini
sağlamak için sadece güvenilen kod ve uygulamaları bir cihaz üzerinde
çalıştırılabilinir. IOS, güvenlik altyapısının bir cihaz üzerinde yetkisiz değişiklikler
ile diğer bölgelerde tehlikeye düştüğü durumlarda bile kullanıcı verilerini korumak
için ek güvenlik özellikleri vardır. Sistem mimarisi kendisi gibi, bu şifreleme ve veri
koruma yetenekleri yazılım teknolojilerini ve entegre donanım katmanlarını kullanır
[4].
2.3.1. DONANIM GÜVENLİK ÖZELLİKLERİ
Mobil cihazlarda, hız ve güç verimliliği kritik öneme sahiptir. Şifreleme işlemleri
karmaşıktır. Doğru tasarlanmamış ve uygulanmamışsa, performans veya pil ömrü
sorunlarıyla karşılaşılabilinir. Her IOS cihazın, flash depolama ve ana sistem belleği
ile DMA içinde dosya şifrelemeyi çok verimli yapan adanmış bir AES 256 şifreleme
motoru vardır. AES motor ile birlikte SHA - 1, daha fazla şifreleme işleminin
yükünü azaltarak donanımda uygulanmaktadır.
UID ve GID üretim sırasında AES 256-bit anahtarları uygulama işlemcisinin içine
kaynaşır. Hiçbir yazılım veya ürün bilgisi, onları doğrudan okuyamaz; onlar, bunları
kullanarak gerçekleştirilen şifreleme ve şifre çözme işlemlerin yalnızca sonuçlarını
görebilir. UID her cihaz için benzersizdir ve Apple veya tedarikçilerin herhangi birisi
tarafından kaydedilmez [5].
GID, cihaz sınıfının tüm işlemcileri için ortaktır. Yükleme ve geri yükleme sırasında
sistem yazılımı teslim edilirken ek bir koruma seviyesi olarak da kullanılır. Hararetli
bu anahtarlar, silikon içinde bunların tahrif veya bypass edilmesini engeller ve
sadece AES motoru tarafından ulaşılabilir olduğunu garanti eder.
UID, verilerin şifreli olarak belirli bir cihaza bağlanmasına olanak sağlar. Örneğin;
dosya sistemini koruyan anahtar hiyerarşisi kullanıcı kimliği içerir, bu yüzden bellek
yongaları fiziksel olarak bir cihazdan başka bir cihaza taşınırsa dosyalar erişilemez
olur. UID, cihazdaki başka bir tanımlayıcı ile ilişkili değildir.
UID ve GID dışındaki diğer tüm şifreleme anahtarları "yarrow" 'a dayalı bir
algoritmayı kullanarak sistemin RNG'si tarafından oluşturulur.
23. 10
Sistem entropisi, önyükleme sırasında ara verme zamanından ve ilave olarak cihaz
önyüklemeye başladıktan sonra gelen iç sensörlerden toplanır.
Güvenli bir şekilde kaydedilen anahtarları silmek, onları üreten kadar önemlidir. Bu
özellikle flash depolama üzerinde zorludur, bu yüzden aşınma - düzeltme verilerinin
çoklu kopyalarının silinmesi gerekir anlamına gelebilir. Bu sorunu çözmek için IOS
cihazlar, "silinebilir depolama" adı verilen özel bir güvenli veri silme özelliği içerir.
Bu özellik, çok düşük bir düzeydeki blokların az sayıdakini silmek ve doğrudan
adres için temel depolama teknolojisine erişir.
2.3.2. DOSYA VERİLERİNİ KORUMA
Yerleşik donanım şifreleme özelliklerine ek olarak, ayrıca cihazdaki flash bellekte
saklanan verileri daha fazla korumak için "veri koruma" adlı bir teknoloji kullanılır.
Bu teknoloji mobil cihazların her zaman açık ve internete bağlı oldukları, herhangi
bir zamandaki telefon görüşmeleri, metin, mesaj ve e-mailler alabileceği gerçeği
dikkate alınarak tasarlanmıştır. Veri koruma, bir cihaza kilitliyken yeni bilgi
indirmeksizin ve hassas verilerin şifresini çözmeksizin gelen telefon aramaları gibi
olaylara yanıt vermesini sağlar. Bu bireysel davranışlar, "sınıflar" bölümünde
açıklandığı gibi her bir dosya için bir sınıf için her dosyayı atayarak kontrol edilir.
Veri koruma, her sınıftaki verilerin erişilmesi gerektiğinde verileri korur.
Erişilebilirlik, sınıf anahtarları kilidinin açılmış olup olmadığına göre belirlenir. Veri
koruma, anahtarların bir hiyerarşisi oluşturularak ve yönetilerek uygulanır, daha önce
açıklanan donanım şifreleme teknolojileri üzerine inşa edilir [4].
MİMARİYE BAKIŞ
Her zaman veri bölümü üzerine bir dosya oluşturulduğunda; Veri koruma, dosya
başına yeni bir 256-bit şifre oluşturur ve onu dosyayı şifrelemek için AES CBC
modunu kullanarak flash belleğe yazılır gibi şifre kullanan AES motor donanımına
verir. IV, dosya anahtar başına SHA-1 hash ile şifrelenmiş, kapalı blok dosyasına
ayarlanmış hesaplanan bir geribildirim kaydırma kaydının çıktısıdır.
Dosya başına anahtar, dosya erişilebilir olması gereken şartlar altında çeşitli sınıf
anahtarlarından biri ile örülmüştür. Diğer tüm sargılar gibi, bu RFC 3394 başına
NIST AES anahtar sarması kullanılarak yapılır. Sarılmış dosya başına anahtar
dosyanın metadatasında depolanır.
24. 11
Bir dosya açıldığında, onun metadatası dosya sistemi anahtarı ile şifresi çözülür.
Sarılı dosya başına anahtar açığa çıkar ve üzerinde sınıfı koruyan bir notasyon olur.
Dosya başına anahtar sınıf anahtarı ile sarılmamıştır, daha sonra flash bellekten
okunduğu gibi dosyanın şifresini çözen AES motor donanımına verilir.
Dosya sistemindeki tüm dosyaların metadataları, IOS ilk yüklendiğinde veya cihaz
bir kullanıcı tarafından silindiği zaman rastgele oluşturulan bir anahtar ile şifrelenir.
Dosya sistem anahtarı, "silinebilir depolama" da saklanır.
Bu anahtar cihazda depolandığından beri, verilerin gizliliğini korumak için
kullanılmaz, bunun yerine isteğe bağlı olarak hızlıca silinecek şekilde tasarlanmıştır.
Bu şekilde anahtarın silinmesi, tüm dosyaları şifreli olarak erişilemez hale getirir.
Bir dosyanın içeriği, bir sınıf anahtarı ile sarılmış bir dosya başına anahtar ile
şifrelenmiştir ve sırayla dosya sistemi anahtarı ile şifrelenen bir dosyanın
metadatasında saklanır. Sınıf anahtarı donanım UID ile korunur. Bu hiyerarşi,
esneklik ve performans sağlar.
TÜM İÇERİK VE AYARLARI SİL
Ayarlar'daki "tüm içerik ve ayarları sil" seçeneği silinebilir depolamadaki bütün
anahtarları yok eder ve tüm kullanıcı verilerini cihaz üzerinde şifrelemeye erişemez
hale getirir.
GÜÇLÜ APPLE ID PAROLALARI OLUŞTURMA
Apple ID'ler; iCloud, Facetime ve iMessage gibi hizmetleri bir diziye bağlamak için
kullanılır. Kullanıcıların, güçlü şifreler oluşturmasına yardımcı olmak için tüm yeni
hesaplar aşağıdaki parola nitelikleri içermelidir:
* En az 8 karakter * En az 1 sayı
* En az 1 harf * En fazla 3 ardışık aynı karakter
* En az 1 büyük harf * Hesap adıyla aynı olmayacak
2.3.3. GEÇİŞ KODLARI
Bir cihaz geçiş kodu ayarlayarak kullanıcı otomatik olarak veri koruma sağlar. IOS,
dört haneli ve keyfi uzunluktaki alfanumerik geçiş kodlarını destekler.
25. 12
Cihazın kilidini açmaya ek olarak, bir geçiş kodu cihazda depolanmayan şifreleme
anahtarları için entropi sağlar. Bu, cihaza sahip bir saldırganın geçiş kodu olmaksızın
veri koruma sınıflarındaki verilere erişim sağlayamaması anlamına gelir.
Geçiş kodu, cihazın UID'le karışık olmalıdır. Bu yüzden brute-force girişimleri
saldırı altındaki cihazda yapılmalıdır. Büyük bir yineleme sayısı her girişimi daha
yavaş yapmak için kullanılır. Yineleme sayısı kalibre edilir, böylece bir girişim
yaklaşık seksen milisaniye sürer. Bu, küçük harfler ve sayılar ile altı karakterli
alfanumerik bir parolanın tüm kombinasyonlarını denemek için en fazla 5½ ( 5,5 yıl )
veya yalnızca sayılarla dokuz basamaklı bir parola için 2½ ( 2,5 yıl ) alacağı
anlamına gelir.
Ayrıca brute-force geçiş kodu saldırılarından vazgeçirmek için, IOS arabirimi kilit
ekranında geçersiz bir geçiş kodu girmesinden sonra artan zaman gecikmelerini
zorlar. Kullanıcılar, başarısız on parola girişiminden sonra cihazı otomatik olarak
silmeyi seçebilir. Bu ayar, MDM ve Exchange ActiveSync üzerinden yönetim ilkesi
olarak da kullanılabilir ve aynı zamanda daha düşük bir eşik değeri ile ayarlanabilir.
GEÇİŞ KODU HAKKINDA ÖNEMLİ HUSUSLAR
Yalnızca sayı içeren uzun bir geçiş kodu girilirse, bir sayısal tuş takımı kilit
ekranında tam klavye yerine görüntülenir. Benzer güvenlik sağlarken, uzun bir
sayısal geçiş kodu girmek kısa bir alfanumerik geçiş kodu girmekten daha kolay
olabilir [5].
SINIFLAR
IOS cihaz üzerinde yeni bir dosya oluşturulduğunda, onu oluşturan uygulama
tarafından bir sınıf atanmıştır. Her sınıf, veri erişilebilirliğini belirlemek için farklı
politikalar kullanır.
Temel sınıflar ve politikalar aşağıdaki gibidir:
TAM KORUMA (NSFILEPROTECTIONCOMPLETE)
Sınıf anahtarı, UID cihaz ve kullanıcı geçiş kodundan türetilen bir şifre ile
korunmaktadır. Kullanıcı cihazı kilitledikten kısa süre sonra şifresi çözülmüş sınıf
anahtarı bir kenara ayrılır, kullanıcı geçiş kodunu tekrar girene kadar bu sınıftaki tüm
verilere ulaşılamaz. Mail uygulaması, iletiler ve ekleri için tam koruma sağlar.
26. 13
Uygulama başlatma görüntüleri ve konum bilgileri de tam koruma ile
saklanmaktadır.
AÇIK OLDUKÇA (NSFILEPROTECTIONCOMPLETEUNLESSOPEN)
Bazı dosyaların cihaz kilitliyken yazılması gerekebilir. Arka planda bir mail ekini
indirmek bunun en iyi örneğidir. Bu davranış, asimetrik eliptik eğri şifreleme
kullanılarak elde edilir. Her zamanki dosya başına anahtar ile birlikte veri koruma,
ortak dosya / özel anahtar çifti üretir.
Paylaşılan bir gizli dosya, dosyanın özel anahtarı kullanılarak hesaplanır ve cihazın
UID ve kullanıcının geçiş kodu ile açık olduğu sürece koruma ortak sınıf anahtarına
karşılık gelen özel anahtar korunmaktadır.
Dosya başına anahtar, bu paylaşılan gizliliğin hashi ile sarılır ve dosyanın ortak
anahtarı ile birlikte dosyanın metadatasında saklanır; karşılık gelen özel anahtar
sonra hafızadan silinir. En kısa sürede kapalı dosya, dosya başına anahtar da aynı
zamanda hafızadan silinir.
Dosyayı yeniden açmak için, açık olduğu sürece koruma ortak sınıf anahtarı ve
dosyanın geçici ortak anahtarı kullanılarak paylaşılan gizlilik yeniden oluşturulur;
hash, daha sonra dosyanın şifresini çözmek için kullanılan dosya başına anahtar
paketini açmak için kullanılır [5].
İLK KULLANICI KİMLİK DOĞRULAMASINA KADAR
(NSFILEPROTEC. COMP. UNTILFIRSTUSERAUTHENTICATION)
Bu sınıf, "tam koruma" ile aynı şekilde davranır. Cihaz kilitlendiğinde şifresi
çözülmüş sınıf anahtarı dışında bellekten kaldırılmaz. Bu sınıftaki koruma, masaüstü
tam disk şifrelemeye benzer özelliklere sahiptir ve verileri yeniden başlatılmasını
gerektiren saldırılardan korur.
KORUMASIZ (NSFILEPROTECTIONNONE)
Bu sınıf anahtarı yalnızca UID ile korunur ve silinebilir depolamada ( Effaceable
Storage ) saklanır. Bu varsayılan sınıf, tüm dosyalar için değildir aksi taktirde bir veri
koruma sınıfına atanır. Bu sınıftaki dosyaların şifresini çözmek için gerekli tüm
anahtarlar cihazınızda saklanır, şifreleme yalnızca uzaktan hızlı silmeye yarar. Eğer,
bir dosyaya veri koruma sınıfı atanmamışsa, yine de bu bir IOS cihaz üzerindeki tüm
veriler gibi şifrelenmiş biçimde depolanır.
27. 14
IOS SDK, 3.parti uygulamaları kolay hale getirmek ve ev geliştiricilerine veri
koruma benimsemesi için tam bir API'ler takımı sunar ve kendi uygulamalarında en
üst düzeyde koruma sağlar. Veri koruma; SQLite, NSData, CoreData ve
NSFileManager dahil dosya ve veritabanı API'leri için kullanılabilir.
2.3.4. ANAHTARLIK VERİ KORUMA
Uygulamaların birçoğunun parolaları ve anahtarlar ile giriş belirteçleri gibi diğer
kısa ama hassas veri bitlerini ele alması gerekir.
Anahtarlık, güvenlik dosyalarını korumak için kullanılan anahtar hiyerarşisine
paralel çalışan farklı bir anahtar hiyerarşisi tarafından sağlanan "korumasız" sınıftaki
dosya sisteminde depolanan SQLite veri tabanı olarak uygulanır. Yalnızca tek bir
veritabanı vardır; "securityd" daemon, anahtarlık öğelerinin her bir işlem veya
uygulamaya erişebilmesini belirler.
Anahtarlık erişim API'leri, "securityd" çerçevesinde yapılan uygulamanın
"anahtarlık-erişim-gruplar" ve "uygulama-tanımlayıcı" yetkisini sorgulayan
çağrıların nedenidir. Tek bir işlemi kısıtlamak yerine, erişim grupları Anahtarlık
öğeleri uygulamalar arasında paylaşılmasına olanak sağlar [5].
Anahtarlık öğeleri yalnızca aynı geliştirici uygulamalar arasında paylaşılabilir. Bu,
erişim gruplarını kullanmak için 3.parti uygulamalar gerektiren IOS geliştirici
Programı aracılığıyla kendilerine ayrılan bir önek ile yönetilir. Önek gereksinimi,
kod imzalama ve Provizyon profilleri üzerinden uygulanır.
Anahtarlık verisi, Veri Koruma dosyasında kullanılan benzer bir sınıf yapısı
kullanılarak korunmaktadır. Bu sınıflar, dosya veri koruma sınıfları için eşdeğer
davranışlara sahiptir ama farklı tuşları kullanır ve API'lerin farklı adlandırılan
parçasıdır.
Her Anahtarlık sınıfı, yedekleme sırasında cihazdan kopyalanmaya başladığı zaman
UID ile daima korunan "sadece bu cihaz" muadiline sahiptir. Eğer farklı bir cihaza
geri yüklediyseniz bunu işe yaramaz hale getirir.
Apple, işletim sistemi tarafından ihtiyaç duyulduğunda bilgi güvenliğinin türüne
bağlı olarak Anahtarlık sınıfları tarafından dikkatle dengelenmiş güvenlik ve
kullanılabilirliğe sahiptir.
28. 15
Örneğin; bir VPN sertifikası her zaman kullanılabilir olmalıdır, bu yüzden cihaz
sürekli bir bağlantı tutar ama başka bir cihaza taşınamaz olduğundan non-migratory
olarak sınıflandırılmıştır.
IOS tarafından oluşturulan Anahtarlık öğeleri için aşağıdaki sınıf korumaları
uygulanır:
Eleman Erişilebilir
Wi-Fi passwords After first unlock
Mail accounts After first unlock
Exchange accounts After first unlock
VPN certificates Always, non-migratory
VPN passwords After first unlock
LDAP, CalDAV, CardDAV After first unlock
Social network account tokens After first unlock
Home sharing password When unlocked
Find My iPhone token Always
iTunes backup When unlocked, non-migratory
Voicemail Always
Safari passwords When unlocked
Bluetooth keys Always, non-migratory
Apple Push Notification Service Token Always, non-migratory
iCloud certificates and private key Always, non-migratory
iCloud token After first unlock
iMessage keys Always, non-migratory
SIM PIN Always, non-migratory
Certificates and private keys installed Always, non-migratory
by Configuration Profile
BİR ANAHTARLIK ÖĞESİNİN BİLEŞENLERİ
Erişim grubu ile birlikte her bir anahtarlık öğesi, metadata ( "oluşturulmuş" ve "en
son güncellenmiş" zaman belirteci gibi ) içerir.
29. 16
Aynı zamanda, sorgulamak için kullanılan hesap ve sunucu adı gibi her bir öğenin
şifresini çözmeden arama izni vermek için SHA-1 özniteliklerinin karmalarını içerir.
Son olarak, aşağıdakileri şifreleme verilerini içerir:
* Sürüm numarası
* Değer koruma sınıfını belirten eleman
* Eleman başına koruma sınıfı anahtar ile sarılmış
* Elemanı açıklayan neiteliklerin sözlüğü ( SecItemAdd için geçti gibi ), bir ikili plist
olarak kodlanmış ve şifrelenmiş
Şifreleme, GCM'deki AES 128'dir: erişim grubu nitelikleri içinde ve GMAC
tarafından korunmaktadır.
2.3.5. KEYBAGS
Anahtarlar; hem dosya hem de Anahtarlık Veri Koruma sınıfları için toplanır ve
keybags içinde yönetilir. IOS, aşağıdaki 4 keybags'i kullanır:
SYSTEM KEYBAG
Cihazın normal çalışmasında kullanılan sarılmış sınıf anahtarlarının depolandığı
yerdir. Örneğin; bir geçiş kodu girildiğinde, NSFileProtectionComplete anahtarı
sistem anahtarlığından yüklenir ve paketi açar.
Bu, "Korumasız" sınıfta depolanan bir ikili plisttir ama içerikleri Silinebilir
Depolama'da tutulan bir anahtar ile şifrelenir. Keybags için ileri güvenlik sağlamak
amacıyla, bu anahtar silinir ve bir kullanıcı geçiş kodunu değiştirdiği her zamanda
yenilenir. Sistem Keybag, cihazda depolanan tek keybag'tir. AppleKeyStore çekirdek
uzantısı Sistem Keybag'i yönetir ve bir cihazın kilit durumu ile ilgili sorgulanabilir.
Bu raporlar, paket açılması başarılı bir şekildeyken eğer sistemdeki tüm sınıf
anahtarları erişilebilir ise sadece cihazın kilidinin açık olduğunu bildirir.
BACK-UP KEYBAG
Back-up Keybag, iTunes tarafından şifrelenmiş bir yedekleme yapıldığında
oluşturulur ve cihazın yedeklendiği bilgisayarda depolanır. Yeni bir keybag yeni bir
anahtar dizisiyle oluşturulur ve yedeklenmiş veriler bu yeni anahtarlar için yeniden
şifrelenir.
30. 17
Daha önce açıklandığı gibi, non-migrator Anahtarlık öğeleri UID türetilmiş anahtar
ile sarılı kalır, onlar orijinalinde yedeklenmiş cihaza restore edilmeye izin verir ancak
onları farklı bir cihazda ulaşılamaz hale getirir.
Keybag, iTunes' taki ayarlanan parolayla korunur ve PBKDF2' nin 10.000
yinelemesi aracılığıyla çalışır. Bu büyük yineleme sayısına rağmen, belirli bir aygıt
için herhangi bir bağ yoktur ve bu nedenle back-up keybag üzerindeki birçok
bilgisayar arasında paralel bir brute-force saldırısı denenebilir. Bu tehdit yeterince
güçlü bir parola ile azaltılabilir.
Eğer bir kullanıcı iTunes yedekleme için şifrelemeyi seçmezse, yedekleme dosyaları
onların Veri Koruma sınıfına bakılmaksızın yani sınıfı ne olursa olsun şifrelenmez
ama Anahtarlık, türetilmiş bir anahtar ile korumalı kalır. Bu yüzden, eğer yalnızca bir
yedekleme parolası ayarlanırsa Anahtarlık öğeleri yeni bir cihaza taşınır.
ESCROW KEYBAG
iTunes senkronizasyonu ve MDM için kullanılır. iTunes'u yedeklemeyi ve kullanıcı
geçiş kodu girmesini gerektirmeden senkronize etmeyi sağlar ve uzaktan bir
kullanıcının şifresini temizlemek için bir MDM sunucusu sağlar. Senkronizasyon
için kullanılan bilgisayarda veya cihazı yöneten MDM sunucusunda depolanır.
Escrow keybag, cihaz senkronizasyonu sırasında potansiyel verilerin tüm sınıflarına
erişimi gerektiren kullanıcı deneyimini geliştirir. Bir geçiş kodu ile kilitli cihaz,
iTunes'a bağlandığında kullanıcıdan bir geçiş kodu girmesi istenir. Bundan sonra
cihaz, bir Escrow Keybag oluşturur ve Host'a iletir. Escrow Keybag, tam olarak yeni
oluşturulan anahtar tarafından korunan cihazda kullanılan aynı sınıf anahtarları içerir.
Bu anahtar, Escrow Keybag kilidini açmak için gereklidir ve Protected Until First
User Authentication sınıfındaki cihazda depolanır. Bu yüzden, cihaz yeniden
başlatıldıktan sonra ilk kez iTunes yedeklemeden önce geçiş kodu girilmelidir.
ICLOUD BACK-UP KEYBAG
Back Up Keybag'e benzemektedir. Bu keybag'in tüm sınıf anahtarları asimetriktir,
bu yüzden iCloud yedeklemeleri arka planda gerçekleşebilir. "No Protection" hariç
tüm veri koruma sınıfları için şifrelenmiş veri cihazdan okunur ve iCloud'a
gönderilir. İlgili sınıf anahtarları, iCloud anahtarları tarafından korunur.
31. 18
Anahtarlık sınıfı anahtarları, şifrelenmemiş bir iTunes yedeklemesiyle aynı şekilde
UID türetilmiş bir anahtar ile sarılır.
BİR KEYBAG BİLEŞENLERİ
Başlık İçerikleri:
* Sürüm ( IOS 3 veya daha sonra 5'e ayarlama )
* Tür ( Sistem, Yedekleme, Emanet, iCloud Yedekleme )
* Keybag UID
* Keybag imzalanmış ise bir HMAC
* Sınıf anahtarlarının sarılması için kullanılan yöntem: UID veya PBKDF ile
birbirine dolaşmış, salt ve yineleme sayısı ile birlikte
Sınıf anahtarlarının bir listesi:
* Anahtar UUID
* Sınıf ( Bu, hangi dosya veya Anahtarlık veri koruma sınıfı )
* Sarma Türü
* Sarmalanmış sınıf anahtarı
* Asimetrik sınıflar için ortak anahtar
2.4. CİHAZ ERİŞİMİ
IOS, esnek güvenlik politikaları ve kolayca uygulanan yapılandırmaları destekler ve
yönetir. Bu, şirketlerin kurumsal bilgilerini korumayı ve çalışanların kurumsal
beklentilerini karşılamayı sağlar.
2.4.1. GEÇİŞ KODU KORUMASI
Kriptografik koruma sağlamanın yanı sıra, geçiş kodları cihazın kullanıcı kimliğine
yetkisiz erişimini önler. IOS arabirimi, geçersiz bir geçiş kodu girildikten sonra artan
zaman gecikmelerini zorlar, kilit ekranı üzerinden brute-force saldırıların etkinliğini
önemli ölçüde azaltır.
Kullanıcılar, başarısız on geçiş kodu denemesinden sonra cihaz otomatik olarak
silinebiliri seçebilir. Bu ayar, idari bir yönetim politikası olarak kullanılabilir. Ayrıca
Exchange ActiveSync ve MDM sayesinde daha düşük bir eşik değeri ayarlanabilir
[5].
32. 19
Varsayılan olarak, kullanıcının geçiş kodu 4 haneli PIN olarak tanımlanabilir.
Kullanıcılar, daha uzun alfanumerik ( alfasayısal ) geçiş kodu belirleyebilir: Settings
> General > Passcode > Complex Passcode. Daha uzun ve daha karmaşık geçiş
kodlarını tahmin etmek ya da saldırmak zordur ve kurumsal kullanım için tavsiye
edilmektedir.
Yöneticiler, karmaşık parola gereksinimlerini ve MDM veya Exchange ActiveSync
gibi diğer politikaları kullanarak veyahut kullanıcıların el ile yapılandırma profilleri
zorunlu kılarak zorlayabilir.
Aşağıdaki geçiş kodu politikaları kullanılabilir:
* Basit bir değere izin vermek
* Alfanumerik değer gerektirir
* Minimum geçiş kodu uzunluğu
* Minimum sayıda karmaşık karakter
* Maksimum geçiş kodu yaşı
* Geçiş kodu geçmişi
* Otomatik kilit zaman aşımı
* Cihaz kilidi için mühlet verilen süre
* Maksimum sayıda başarısız girişim
2.4.2. YAPILANDIRMA UYGULAMA
Bir yapılandırma profili, bir yöneticiye IOS cihazlar için yapılandırma bilgisini
dağıtmayı sağlayan bir XML dosyasıdır. Yüklenmiş bir yapılandırma profili
tarafından tanımlanmış ayarlar, kullanıcı tarafından değiştirilemez. Eğer kullanıcı,
yapılandırma profilini silerse profil tarafından tanımlanmış tüm ayarlar da kaldırılır.
Böylelikle, yöneticiler politikaları erişime bağlayarak ayarlarını uygulayabilirler.
Örneğin; bir e-mail yapılandırması sağlayan bir yapılandırma profili, ayrıca cihaz
geçiş kodu politikasını belirler. Kullanıcıların, geçiş kodları yöneticinin
gereksinimlerini karşıladığı sürece maillerine erişmek mümkün olmayacaktır.
33. 20
Bir IOS yapılandırma profili, aşağıda belirtilen bir dizi ayarı içerir:
* Geçiş kodu politikaları
* Cihaz özelliklerini kısıtmala ( kamerayı devre dışı bırakma gibi )
* Wi - Fi ayarları
* VPN ayarları
* E-mail sunucu ayarları
* Exchange ayarları
* LDAP dizin hizmeti ayarları
* CalDAV takvim hizmeti ayarları
* Web klipleri
* Kimlik bilgileri ve anahtarlar
* Gelişmiş hücresel ağ ayarları
Yapılandırma profilleri imzalanmış ve kökeni doğrulamak, onların bütünlüğünü
sağlamak ve içeriğini korumak için şifreli olabilir. Yapılandırma profilleri, 3DES ve
AES-128 destekleyen CMS ( RFC 3852 ) kullanılarak şifrelenir.
Yapılandırma profilleri, onların tamamen kaldırılmasını engellemek için bir cihaza
kilitlenebilir veya bir geçiş kodu ile yalnızca kaldırmak için izin verir.
Birçok kurumsal kullanıcı, kişisel olarak kendi IOS cihazlarını kullandığı için
yapılandırma profilleri kaldırılabilir bir MDM sunucusuna bir cihazı bağlar ancak
bunu yaparken aynı zamanda yönetilen tüm yapılandırma bilgileri, veri ve
uygulamaları kaldırır.
Kullanıcılar, iPhone Configuration Utility kullanarak kendi cihazları üzerinde
doğrudan Yapılandırma Profilleri yükleyebilirler. Yapılandırma Profilleri, bir MDM
sunucusu kullanarak havadan veya e-mail yoluyla indirilebilir.
2.4.3. MOBİL CİHAZ YÖNETİMİ
IOS, işletmelerin güvenli bir şekilde yapılandırmasını sağlamak için MDM'yi
destekler ve onların kendi arasındaki ölçeklendirilmiş iPhone ve iPad dağıtımlarını
yönetir. MDM yetenekleri; OTA Enrollment, APNS ve yapılandırma profilleri gibi
mevcut IOS teknolojileri üzerine inşa edilmiştir.
34. 21
MDM kullanarak, Bilişim Teknolojileri departmanları kurumsal bir ortamda IOS
cihazları kaydedebilir, kablosuz yapılandırma yapabilir ve ayarları güncelleyebilir,
kurumsal politikalar ile uyumu izleyebilir ve hatta uzaktan silme veya cihazları
kilitlemeyi yönetebilir.
2.4.4. APPLE YAPILANDIRICISI
MDM'ye ek olarak, Apple Yapılandırıcısı IOS cihazları herkese dağıtmak için OS
X' i kolaylaştırır. Apple yapılandırıcısı; ayarlar, uygulamalar ve veri ile çok sayıda
cihazı yapılandırmak için hızlı kullanılabilir. Başlangıçta yapılandırılmış cihazlar,
yüklenmesi için gerekli kısıtlamalar ve ek ayarları sağlayan Apple yapılandırıcısı
kullanarak denetlenebilir. Bir cihaz; Apple yapılandırıcısı ile bir kez denetlendikten
sonra, mevcut tüm ayarlar ve kısıtlamalar OTA üzerinden yüklenir, MDM yoluyla da
yüklenebilir.
2.4.5. CİHAZ KISITLAMALARI
Yöneticiler, bir yapılandırma profili yükleyerek cihaz özelliklerini kısıtlayabilir.
Aşağıdaki mevcut kısıtlamalar:
* Uygulama yüklemeye izin ver
* Kamera kullanımına izin ver
* Facetime izin ver
* Ekran yakalama izin ver
* Sesli arama izin ver
* Dolaşımdayken otomatik eşitlemeye izin ver
* Uygulama satınalıma izin ver
* Eklenen mailler senkronizasyonuna izin ver
* Tüm alımlar için kullanıcıyı mağaza şifresini girmeye zorlamak
* Çok oyunculu oyun izin ver
* Oyun merkezi arkadaşları eklemeye izin ver
* Siri kullanımına izin ver
* Cihaz kilitliyken Siri kullanımına izin ver
* Youtube kullanımına izin ver
* Cihaz kilitliyken hesap cüzdanı bildirimlerine izin ver
* iTunes Store kullanımına izin ver
* Safari kullanımına izin ver
35. 22
* Safari otomatik doldurmayı etkinleştirme
* Sahte Web sitesi uyarısını zorlama
* JavaScript etkinleştirmek
* Açılır pencereleri engelle
* Çerezleri ( tanımlama bilgileri ) kabul et
* iCloud yedekleme ve belge senkronizasyonuna izin ver
* Fotoğraf akışına izin ver
* Paylaşılan fotoğraf akışına izin ver
* Apple için tanılama ( teşhis ) gönderilmesine izin ver
* Güvenilmeyen TLS sertifikaları kabul etmek için kullanıcıya izin ver
* Zor şifrelenmiş yedekleme
* İçerik derecelendirme tarafından medya kısıtlaması
Sadece Denetimli Kısıtlamalar
* iMessage izin ver
* Oyun merkezi izin ver
* iBookStore izin ver
* iBookStore'dan erotik izin ver
* Uygulamaların kaldırılmasına izin ver
* Siri küfür filtresini etkinleştir
* Elle yapılandırma profilleri yüklenmesine izin ver
2.4.6. UZAKTAN SİLME
IOS cihazlar, bir yönetici veya kullanıcı tarafından uzaktan silinebilir. Silinebilir
depolama'dan bloke edilmiş depolama şifreleme anahtarı atılarak, anında uzaktan
silme güvenli bir şekilde elde edilir ve tüm veriler okunamaz hale gelir. Uzaktan
silme; iCloud, Exchange veya MDM tarafından başlatılabilir.
Uzaktan silme, MDM veya iCloud tarafından tetiklendiğinde cihaz bir bildirim
gönderir ve silme gerçekleştirilir. Exchange ile uzaktan silme için, cihaz silme
işlemini gerçekleştirmeden önce Exchange sunucu ile denetler.
Ayrıca, kullanıcılar ayarlar uygulamasını kullanarak ellerindeki cihazları silebilir.
Ve belirtildiği gibi, cihazlar bir dizi başarısız geçiş kodu denemesinden sonra
otomatik olarak silmek için ayarlanabilir.
36. 23
3. ANDROID GÜVENLİK
3.1. GİRİŞ
3.1.1. ANDROID GÜVENLİK GENEL BAKIŞ
Android uygulamaları, platform sayesinde yerel ve görev verilerinin yanısıra
gelişmiş donanım ve yazılım kullanımını da sağlar. Bu değeri korumak için
kullanıcıların veri, uygulamalar, cihaz ve ağ güvenliğini sağlayan uygulama ortamı
sunulmalıdır. Açık bir platformu korumak için güvenlik mimarisi ve ciddi güvenlik
programları gereklidir. Android, tüm kullanıcılara gerekli korumayı sağlarken açık
bir platform için gerekli esnekliği sağlayan çok katmanlı güvenlik ile tasarlanmıştır.
Android, güvenlik kontrollerinin geliştiricilerin üzerindeki yükü azaltması
düşünülerek tasarlanmıştır. Güvenlik uzmanı geliştiriciler, esnek güvenlik kontrolleri
üzerinde kolayca çalışabilir ve güvenebilirler.
Android, aynı zamanda kullanıcılar düşünülerek tasarlanmıştır. Kullanıcılar,
uygulamaların nasıl çalıştığını ve bu uygulamaların üzerinde denetimin nasıl
göründüğünü sağlar. Bu tasarım, saldırganların cihaza kötü niyetli yazılım yüklemek
için sosyal mühendislik gibi yaygın saldırıları ve 3.cü taraf uygulamalar üzerinden
saldırı beklentilerini içerir. Android, hem bu saldırıların olasılığını azaltmak hem de
etkisini sınırlandırmak için tasarlanmış ve bunda da başarılı olmuştur.
Android plaftormunun ana yapı taşları:
CİHAZ DONANIMI: Android OS; akıllı telefonlar, tabletler ve set-top-boxes dahil
olmak üzere donanım yapılandırmalarının geniş bir yelpazesinde çalışır. Anroid,
bilinemez işlemcidir ama ARM v6 eXecute-Never gibi donanıma özgü güvenlik
özelliklerinin bazı avantajlarından yararlanır.
ANDROID İŞLETİM SİSTEMİ: Çekirdek işletim sistemi, Linux çekirdeği üzerine
inşa edilmiştir. Kamera işlevleri, GPS verileri, Bluetooth işlevleri, telefon işlevleri,
ağ bağlantıları vb. gibi tüm cihaz kaynaklarına işletim sistemi üzerinden erişilebilir.
ANDROID UYGULAMA ÇALIŞMA ZAMANI: Android uygulamaları en sık
Java programlama dilinde yazılmıştır ve Dalvik sanal makinesinde çalıştırılır ancak
uygulamaların birçoğu, çekirdek Android hizmetlerini kapsar ve yerli uygulamaları
veya yerli kütüphaneleri kapsar. Hem Dalvik hem yerli uygulamalar, Application
Sandbox içinde bulunan aynı güvenlik ortamı içinde çalışır.
37. 24
Uygulamalar için birincil iki kaynak şunlardır:
ÖNCEDEN YÜKLENMİŞ UYGULAMALAR: Android; telefon, e-posta, takvim,
web tarayıcı ve kişiler de dahil olmak üzere önceden yüklenmiş bir dizi uygulama
içerir. Bu fonksiyon hem kullanıcı uygulamaları gibi hem de diğer uygulamalar
tarafından erişilebilen anahtar cihaz yeteneklerini sağlar. Önceden Yüklenmiş
Uygulamalar, açık kaynak kodlu Android platformunun bir parçası olabilir ya da özel
bir cihaz için bir OEM tarafından geliştirilebilir.
KULLANICI TARAFINDAN YÜKLENEN UYGULAMALAR: Android,
herhangi bir 3.parti uygulamayı destekleyen açık bir geliştirme ortamı sağlar.
Birincil hizmetler şunlardır:
GOOGLE PLAY: Kullanıcıya uygulama keşfetmek, denemek, yüklemek ve web
satınalma izni veren bir hizmet topluluğudur. Google Play; geliştiriciler için, Android
kullanıcılarına ve potansiyel müşterilere ulaşmayı kolaylaştırır. Google Play; aynı
zamanda topluluk gözden geçirme, uygulama lisans doğrulama, uygulama güvenliği
tarama ve diğer güvenlik hizmetlerini sağlar.
ANDROID GÜNCELLEMELERİ: Android güncelleme servisi, OTA üzerinden
veya web sayesinde güncelleştirmeler dahil olmak üzere Android cihazlar için
güvenlik güncelleştirmeleri ve yeni özellikler sunar.
UYGULAMA HİZMETLERİ: Çerçeveler, push mesajları için buluttan cihaza
mesajlaşma ve uygulama verisi ve ayarları gibi Android uygulamalarının bulut
yetenekleri kullanmasına izin verir.
Android Güvenlik Programı, anahtar bileşenleri içerir:
Temel Bileşenler;
TASARIM İNCLEMESİ: Android güvenlik süreci, zengin ve yapılandırılabilir
güvenlik modeli ve tasarım oluşturulması ile erken geliştirme yaşam döngüsünde
başlar. Platformun her önemli özelliği mühendislik ve güvenlik kaynakları tarafından
sistem mimarisine entegre edilmiş uygun güvenlik kontrolleri ile gözden geçirilir.
38. 25
PENETRASYON TESTİ VE KOD İNCELEME: Platform geliştirilmesi sırasında,
Android oluşturulan ve açık kaynak bileşenleri güçlü güvenlik değerlendirmelerine
tabidir. Bu inceleme Google Bilgi Güvenliği Mühendislik Ekibi ve bağımsız
güvenlik danışmanları tarafından Android Güvenlik Ekibi ile yapılmaktadır. Bu
incelemenin amacı açık kaynak platformdan önce zayıf ve olası güvenlik açıklarını
tespit etmek ve dış güvenlik uzmanları tarafından gerçekleştirilecek analiz türlerini
taklit etmektir.
AÇIK KAYNAK VE TOPLULUK İNCELEME: Android, Linux çekirdeği gibi
önemli dış güvenliği inceleyen açık kaynak teknolojilerini de kullanır. Google Play;
kullanıcılar ve şirketler için, kullanıcılara belirli uygulamalar hakkında doğrudan
bilgi vermek için forum sağlamaktadır.
OLAYA MÜDAHALE: Tüm bu önlemlere rağmen, güvenlik sorunları Android
Projesi'nin kapsamlı bir güvenlik tepki süreci oluşturmasından sonra meydana
gelebilir. İşte bu yüzden tam zamanlı bir Android güvenlik ekibi, potansiyel güvenlik
açıklarının tartışılması için Android'e özgü güvenlik topluluğunu sürekli izler.
3.1.2. ANDROID PLATFORMU GÜVENLİK MİMARİSİ
* kullanıcı verilerini korumak
* sistem kaynaklarını korumak ( ağ dahil olmak üzere )
* uygulama yalıtımı sağlamak
Bu hedeflere ulaşabilmek için Android'in sunduğu gerekli güvenlik özellikleri:
* Linux çekirdeği sayesinde işletim sistemi düzeyinde güçlü güvenlik
* Tüm uygulamalar için zorunlu Sandbox uygulaması
* Güvenli işlemler arası iletişim
* Uygulama İmzalama
* Uygulama tanımlı ve kullanıcıya verilen izinler
Şekil1'de Android yazılım yığınının çeşitli düzeylerde düşünceleri ve güvenlik
bileşenleri belirtilmiştir.
Her bileşen, aşağıdaki bileşenlerin tamamen güvenli olduğunu varsayar. Kök olarak
çalışan Android İşletim Sistemi kodunun küçük bir miktarı haricinde, Linux
çekirdeği üzerindeki tüm kodlar Sandbox Uygulama tarafından kısıtlanır.
39. 26
A p p l i c a t i o n s
A p p l i c a t i o n F r a m e w o r k
h o m e d i a l e r im
S m s /
m m s
c l o c ka l b u m s
c a l c u l a t o ra l a r mc a m e r ab r o w s e r
c o n t a c t s e - m a i l c a l e n d a r …
A c t i v i t y
M a n a g e r
M e d i a
p l a y e r
V o i c e
d i a l
W i n d o w s
M a n a g e r
C o n t e n t
P r o v i d e r s
N o t i f i c a t i o n
M a n a g e r
V i e w S y s t e m
P a c k a g e
M a n a g e r
T e l e p h o n e
M a n a g e r
R e s o u r c e
M a n a g e r
lo c a t i o n
M a n a g e r
X m p p
S e r v i c e
S u r f a c e
M a n a g e r
M e d i a
F r a m e w o r k
O p e n G L - E S L i b W e b C o r eF r e e T y p e
S Q L i t e
L i b r a r i e s
L i b cS S LS G L
A n d r o i d R u n t i m e
C o r e L i b r a r i e s
D a l v i k V i r t u a l
M a c h i n e
D i s p l a y
D r i v e r
B lu e t o o t h
D r i v e r
K e y p a d
D r i v e r
A u d i o
D r i v e r s
F l a s h
M e m o r y
D r i v e r
C a m e r a
D r i v e r
U S B D r i v e r W i - F i D r i v e r
B in d e r ( I P C )
D r i v e r
P o w e r
M a n a g e m e n t
L i n u x K e r n e l
Şekil 1: Android yazılım yığını
3.2. SİSTEM VE ÇEKİRDEK GÜVENLİK DÜZEYİ
İşletim sistemi düzeyinde Android platformu, işlemler arası güvenli bir iletişim
kolaylığının yanısıra, farklı süreçlerde çalışan uygulamalar arasında güvenli iletişimi
sağlamak için Linux çekirdeğinin güvenliğini sağlar. Bu güvenlik özellikleri, işletim
sistemi düzeyinde Sandbox Uygulama tarafından yerel kodun bile kısıtlanmasını
sağlar. Kod, uygulama davranışının dahili bir sonucu veya bir uygulamanın güvenlik
açığının sömürüsü olsa da olmasa da Sistem; cihazın kendisi, Android sistemi veya
diğer uygulamalardan gelen zararlı sahte uygulamayı önleyebilecektir [3].
3.2.1. LINUX GUVENLİK
Android platformunun temeli Linux çekirdeğidir. Linux çekirdeğinin kendisi
yıllardır yaygın olarak kullanılmaktadır, aynı zamanda güvenlik duyarlı ortamlarda
milyonlarca kez kullanılmıştır. Tarihi boyunca binlerce geliştirici tarafından sürekli
araştırılmış, saldırılmış ve düzeltilmiştir. Linux, birçok şirket ve güvenlik uzmanı
tarafından istikrarlı ve güvenli bir çekirdek haline gelmiştir [3].
40. 27
Bir mobil bilgi işlem ortamı için temel olarak Linux çekirdeği, Android ile çeşitli
anahtar güvenlik özellikleri sağlar.
Bunlar;
* Kullanıcı tabanlı izinler modeli
* İşlem yalıtımı
* Güvenli IPC için genişletilebilir mekanizma
* Çekirdeğin gereksiz ve potansiyel olarak güvenli olmayan parçalarını kaldırma
yeteneği
Çok kullanıcılı bir işletim sistemi olarak Linux çekirdeğinin temel güvenlik amacı
kullanıcı kaynaklarını birbirinden izole etmektir.
Böylece Linux;
* a kullanıcısının b kullanıcısının dosyalarını okumasını önler.
* a kullanıcısının b kullanıcısının belleğini tüketmemesini sağlar
* a kullanıcısının b kullanıcısının cpu kaynaklarını tüketmemesini sağlar
* a kullanıcısının b kullanıcısının telefon, GPS, Bluetooth cihazlarını tüketmemesini
sağlar.
3.2.2. APPLICATION SANDBOX
Android platformu, uygulama kaynaklarını belirlemek ve izole etmek için bir araç
olarak Linux kullanıcı tabanlı korumadan faydalanır. Android sistemi, her Android
uygulama için UID atar ve ayrı bir işlemde kullanıcı gibi çalışır. Bu yaklaşım,
geleneksel Linux yapılandırma da dahil olmak üzere birden fazla uygulamanın aynı
kullanıcı izinleriyle çalıştığı diğer işletim sistemlerinden farklıdır [7].
Çekirdek, kullanıcı ve uygulamalar için atanmış olan grup kimlikleri gibi standart
Linux imkanları aracılığıyla işlem düzeyinde sistem ve uygulamalar arasındaki
güvenliği zorlar. Varsayılan olarak, uygulamalar birbirleriyle etkileşemez ve işletim
sistemine sınırlı erişim hakkına sahiptirler. Eğer, A uygulaması B uygulamasının izni
olmaksızın telefonu veya verilerini okumak gibi zararlı birşey yapmaya çalışırsa ,
işletim sistemi bunu korur. Çünkü, A uygulaması uygun kullanıcı ayrıcalıklarına
sahip değildir.
41. 28
Sandbox; basit, denetlenebilir ve dosya izinleri ile onlarca yıldır süren UNIX stili
kullanıcı ayırma işlemlerine dayanmaktadır.
Application Sandbox, çekirdekte olduğundan bu güvenlik modeli yerel kod ve
işletim sistemi uygulamalarına genişler. Şekil 1'deki çekirdek üzerinde yazılımın
tümü; işletim sistemi kütüphaneleri, uygulama çerçevesi ve uygulama zamanı dahil
tüm uygulamalar Application Sandox içinde çalışır.
Bazı platformlarda geliştiriciler belirli bir geliştirme çerçevesi, API'lerin dizisi veya
dil güvenliğini sağlamak için sınırlandırılmıştır. Android'te güvenlik sağlamak için
gerekli bir uygulamanın nasıl yazılmış olduğuyla ilgili herhangi bir kısıtlama yoktur;
bu bağlamda yerel kod sadece güvenli olarak yorumlanır.
Bazı işletim sistemlerinde bellek bozulması hataları genellikle tamamen cihazın
güvenliğini tehlikeye sokar. Bu durum, kendi kaynakları işletim sistemi seviyesinde
korumalı alan olan tüm uygulamalar için Android'te böyle değildir. Bir bellek
bozulması hatası, işletim sistemi tarafından kurulan izinler ile sadece belirli bir
uygulama bağlamında rastgele kod yürütülmesine izin verecektir.
3.2.3. SİSTEM BÖLÜMÜ VE GÜVENLİ MOD
Sistem bölümü; uygulamalar, işletim sistemi kütüphaneleri, uygulama çalışma
zamanı ve uygulama çerçevesinin yanı sıra Android çekirdeğini de içerir. Bu bölüm
salt okunur olarak ayarlanır. Bir kullanıcı cihaza güvenli modda önyükleme
yaptığında yalnızca çekirdek Android uygulamaları mevcuttur. Bu 3.parti bir
yazılımın ücretsiz olduğu bir ortamda kullanıcının kendi telefonuna önyükleme
yapabilmesini sağlar.
3.2.4. DOSYA SİSTEMİ İZİNLERİ
UNIX tarzı bir ortamda, dosya sistemi izinleri bir kullanıcının, bir başka kullanıcının
dosyalarını değiştirememesini veya okuyamamasını sağlar. Android'in durumunda
ise her bir uygulama kendi kullanıcı olarak çalışır. Geliştirici, diğer uygulamalar için
dosyaları ortaya çıkarmadıkça bir uygulama tarafından oluşturulan dosyalar, başka
bir uygulama tarafından değiştirilemez veya okunamaz.
42. 29
3.2.5. ŞİFRELEME
Android, uygulamalar tarafından kullanılmak üzere bir kriptografik API dizisi
sağlar. Bu AES, RSA, DSA ve SHA gibi standart ve yaygın olarak kullanılan ilkel
şifreleme uygulamalarını içerir. İlaveten API'ler, SSL ve HTTPS gibi yüksek seviyeli
protokoller sağlar [4].
3.2.6. BELLEK YÖNETİMİ GÜVENLİK GELİŞTİRMELERİ
Android, yaygın bellek sorunlarını önemli ölçüde zorlaştıran birçok özellik içerir.
Android SDK, derleyiciler ve işletim sistemi yaygın bellek sorunlarını önemli ölçüde
zorlaştırmak için aşağıdaki araçları kullanır.
ANDROID 1.5.
* Yığın ( öbek ) arabellek taşmalarını önlemek için ProPolice (f-stack-protector)
* Tamsayı taşmalarını azaltmak için safe_iop
* Serbest çift güvenlik açıklarını ve yığın birleştirme ( sağlamlaştırma ) saldırılarını
önlemek için OpenBSD dlmalloc uzantıları
* Bellek tahsisi sırasında tamsayı taşmalarını önlemek için OpenBSD calloc
ANDROID 2.3.
* Biçim dizesi güvenlik açığı koruması
* Donanım tabanlı yığın ve üzerinde kod yürütülmesini engellemek için No eXecute
* Boş işaretçi etkisini azaltmak ve ayrıcalık yükseltmek için Linux mmap_min_addr
KQUEUE
ANDROID 4.0.
* Hafızada anahtar yerleri rastgele seçmek için ASLR
ANDROID 4.1.
* Konumdan bağımsız yürütülebilir destek ( PIE )
* Salt okunur yer değiştirmeler / anında bağlanma (-Wl,-z,relro -Wl,-z,now )
* Etkin dmesg_restrict ( çekirdek adreslerinin sızmaması )
* Etkin kptr_restrict ( çekirdek adreslerinin sızmaması ) [8].
ANDROID 4.2.
Uygulama Doğrulama: Zararlı olabilecek bir uygulama yüklemeye çalışırsanız
uygulama doğrulama kullanıcıyı uyarabilir. Eğer bir uygulama özellikle kötüyse
yüklemeyi engelleyebilir.
43. 30
FORTIFY_SOURCE: Bellek bozulmasını önlemek için sistem kütüphaneleri ve
uygulamalar tarafından kullanılır.
Daha fazla hediye SMS kontrolü: Android, bir uygulama için ek masrafa neden
olabilecek premium servislerden kısa sms gönderme girişiminde bir bildirim
sağlayacak. Kullanıcı uygulama izni için mesaj göndermeyi / engellemeyi seçebilir.
Her zaman açık VPN: Uygulamalar, VPN bağlantısı kuruluncaya kadar ağa
erişemez. Böylece, VPN yapılandırılabilir. Bu uygulamalar diğer ağlar arasında veri
göndermesini engeller.
Sertifika Sabitleme: Android çekirdek kütüphaneleri sertifika tutturmayı destekler.
Eğer sertifika beklenen sertifika zincir kümesi değilse tutturulmuş sertifika
doğrulama hatası alırsınız. Bu sertifika yetkililerini olası uzlaşmasına karşı korur.
Android İzinlerin Geliştirilmiş Ekranı: İzinler kullanıcı tarafından daha kolay
anlaşılır gruplar halinde organize edilmiştir. İzinlerin incelenmesi sırasında kullanıcı
izni hakkında daha detaylı bilgi izni için tıklayabilirsiniz.
Installd Sabitleme: Installd komutu kök ayrıcalık yükseltmek için potansiyel saldırı
alanını azaltarak kök kullanıcısı olarak çalışmaz.
Init Komut Sabitleme: Semantik saldırıları ile ilgili sembolik koruma için
O_NOFOLLOW Inıt komutunu şimdi uygula
ContentProvider Varsayılan Yapılandırma: API seviyesindeki 17 uygulamanın
her biri için varsayılan olarak her içerik sağlayıcının hedefi hatalıyı dışa çıkararak
uygulamalar için varsayılan saldırı alanın azaltılmasıdır.
Kriptografi: SecureRandom ve Cipher'ın varsayılan uygulamaları modifiye etmek.
RSA,OpenSSL kullanacak. OpenSSL 1.0.1 kullanılarak TLSv1.1 ve TLSv1.2 için
SSL Socket eklendi.
Güvenlik Düzeltmeleri: Güvenlik düzeltmeleri açık kaynak kütüphaneleri ile
Webkit , libpng , OpenSSL ve LibXML'de dahil olmak üzere yükseltilmiştir [6].
ANDROID 4.3.
Selinux ile güçlendirilmiş Android Sandbox: Selinux güçlendirme kullanıcılara ve
geliştiriciye görünmez. Mevcut uygulamalar ile uyumluluğu korurken mevcut
android güvenlik modeline sağlamlık ekler. Uyumluluğun devamını sağlamak için
Selinux'un kullanıma izin verir. Bu mod kurallara aykırı kayıtları tutar ama
uygulamaları kesmez / bölmez ve sistemin davranışını etkilemez.
44. 31
No setuid / setgid programları: Android sistem dosyalarında dosya sistemi
kabiliyeti desteği eklendi. Tüm setuid / setguid programları kaldırıldı. Bu kök saldırı
yüzeysel ve olası güvenlik açıkları olasılığını azaltır.
ADB Kimlik Doğrulama: Android 4.2.2'den beri, ADB bağlantıları bir RSA
keypair ile doğrulanır. Bu, saldırganın bir cihaza fiziksel erişimi olan ADB yetkisiz
kullanımını önler.
Android uygulamalarından gelen setuid sınırlama: zigot proces, android
sisteminin setuid programının çalışmasını önlüyor.
Yetenek sınırlayıcı: Android, zigot ve ADB önceki gereksiz uygulamaları
kaldırmak için artık PR_CAPBSET_DROP'u kullanıyor. Bu, kabuktan gelen
ayrıcalıklı özelliğe sahip Android uygulamaların ve uygulamaların başlamasını
engeller.
Android şifre deposu sağlayıcısı: API'li Android uygulamalarında özel kullanım
tuşları imkanı veren şifre deposu vardır. Bu şifre deposu API'li uygulamalara kendine
özel şifre tanımlamalarına izin verir ve bu şifre başka uygulama tarafından
kullanılamaz.
KeyChain isBoundKeyAlgorithm: Şimdi keychain API şimdi isbound keytype
isimli bir method sunuyor. Bu method uygulamaya sistem genelinde cihaz için
güvenliğin bir donanım köküne bağlı olduğunu doğrulamak için izin veren bir
yöntemdir. Bu da kök uzlaşma durumunda dahi cihaz dışına çıkmaması için özel
anahtarı oluşturmak veya saklamak için bir yer sağlar.
NO_NEW_PRIVS.: Android zigot, ilaveten kullanılan bir önceki kod uygulayıcıyı
engellemek için PR_SET_NO_NEW_PRIVS kullanır.
FORTIFY_SOURCE geliştirmeleri: Potansiyel zayıf noktaları ya da bitirilmemiş
dizilerin kayıt hatalarını tespit eder.
Yer Değiştirme korumaları: Yalnızca statik haldeki yer değişimini okumasına izin
verir ve Android kodundaki yeri değiştirilmiş tüm metinler kaldırıldı.
Geliştirilmiş EntropyMixer: Kapatma yeniden başlatma ve ek olarak karışık
zamanlardaki düzensizlik. Tüm cihazlar açıkken entropy yapmasına izin verir ve
özellikle hemen yeniden başlattan sonra hazır olan cihazlar için yararlıdır [9].
45. 32
ANDROID 4.4.
Selinux ile güçlendirilmiş Android Sandbox: Android, şimdi güçlendirme
modunda Selinux kullanır. Selinux, mevcut isteğe bağlı erişim denetim tabanlı
güvenlik modelini arttırmada kullanılan linux çekirdeğindeki zorunlu bir erişim
kontrol sistemidir. Bu potansiyel güvenlik açıklarına karşı ek koruma sağlar.
Kullanıcı başına VPN: Çok kullanıcılı cihazlarda, VPN şimdi kullanıcı başına
uygulanır. Böylelikle kullanıcı cihaz üzerinde diğer kullanıcıları etkilenmeden VPN
üzerinden tüm ağ trafiğini yönlendirmek için izin verebilir.
AndroidKeyStore'da ECDSA Destek Sağlayıcı: Android'te şimdi ECDSA ve DSA
algoritmalarının kullanımını sağlayan bir şifre deposu sağlayıcısı vardır.
Cihaz İzleme Uyarıları: Herhangi bir sertifika şifreli ağ trafiğini izlemek için cihaz
sertifika deposuna eklenmişse Android bir uyarı ile kullanıcılara bunu bildirir.
FORTIFY_SOURCE: Android, 2.ci seviyeyi destekler. Tüm kod bu uygulamalarla
derlenmiştir. FORTIFY_SOURCE C için bir derleyici olan Clang ile çalışmak için
geliştirilmiştir.
Sertifika Sabitleme: Android, güvenli SSL / TLS iletişimlerinde kullanılan Google
sertifikalarının hileli kullanımını algılar ve önler.
Güvenlik Düzeltmeleri: 4.4 aynı zamanda Android'e özel güvenlik açıkları için
düzeltmeler içerir.
3.2.7. CİHAZLARIN KÖKLEŞMESİ
Varsayılan olarak, Android üzerinde sadece çekirdek ve çekirdek uygulamaların
küçük bir alt kümesi kök izinleri ile çalıştırılır. Android; kök izinleri ile işletim
sistemi, çekirdek ve herhangi diğer bir uygulamayı değiştirerek bir kullanıcı veya
uygulamayı engellemez. Genel olarak, kök tüm uygulamalara ve tüm uygulama
verilerine tam erişime sahiptir. Kullanıcılar, uygulamalara kök erişimi vermek için
Android cihaz üzerinde izinleri değiştirir, kötü niyetli uygulamalar ve potansiyel
uygulama kusurları için güvenlik arttırır.
Sahip oldukları bir Android cihaz değiştirme yeteneği, Android platformu ile çalışan
geliştiriciler için önemlidir. Birçok Android cihaz kullanıcısı, alternatif bir işletim
sisteminin kurulumunu sağlamak için bootloader kilidini açma yeteneğine sahiptir.
Bu alternatif işletim sistemleri, hata ayıklama uygulamaları ve sistem bileşenleri
veya Android API'leri tarafından uygulamalara sunulmamış özelliklere erişmek için
sahibinin kök erişim sağlamasına izin verebilir [7].
46. 33
Bazı cihazlarda, fiziksel bir cihaz kontrolü ve bir USB kablosu ile bir kişinin
kullanıcıya kök ayrıcalıkları sağlayan yeni bir işletim sistemi yüklemek mümkündür.
Varolan herhangi bir kullanıcı verisini korumak için, kilit açma adımın bir parçası
olarak önyükleme yükleyicisi varolan herhangi bir kullanıcı verisini silmeyi
gerektirir. Kök, bir çekirdek hatasından faydalanarak veya güvenlik açığı bu
korumayı atlayarak erişim kazanabilir.
Cihaz üzerinde saklı bir anahtar ile veri şifrelemek, kök kullanıcılardan gelen
uygulama verisine koruma sağlamaz. Uygulamalar, bir kullanıcı parolası veya bir
sunucu üzerindeki gibi kapalı cihazda saklı bir anahtar ile şifreleme kullanarak veri
koruma katmanı ekleyebilir. Bu yaklaşım , anahtar halihazırda değilse geçici koruma
sağlayabilir ancak eninde sonunda uygulama için anahtar sağlanmalıdır, ancak o
zaman kök kullanıcılar erişilebilir olur.
Donanım çözümlerinin kullanımı yoluyla kök kullanıcılardan veri korumak daha
sağlam bir yaklaşımdır. OEM'ler, Google cüzdan için NFC ile ilgili güvenilir
depolama veya video oynatımı için DRM gibi belirli içerik türlerine erişimi
sınırlandıran donanım çözümleri uygulamayı seçebilir.
Bir kayıp yada çalıntı cihaz durumunda, tam dosya sistemi şifreleme Android
cihazlarda şifreleme anahtarını korumak için cihaz parolasını kullanır, bu yüzden
kullanıcının cihaz parolası olmadan önyükleme yükleyicisini veya işletim sistemini
değiştirmek kullanıcı verisine erişmek için yeterli değildir.
3.2.8. KULLANICI GÜVENLİK ÖZELLİKLERİ
3.2.8.1. DOSYA SİSTEMİ ŞİFRELEME
Android 3.0 ve sonraki sürümler tam dosya sistemi şifreleme sağlar, bu yüzden tüm
kullanıcı verileri ESSIV:SHA256 ve CBC ile AES128'in dmcrypt uygulamasını
kullanarak çekirdekte şifreli olabilir. Şifreleme anahtarı, kullanıcı cihaz parolası
olmadan depolanmış verilere yetkisiz erişimi engelleyen ve kullanıcı parolasından
türetilen bir anahtar kullanarak AES128 ile korunur.
Sistematik parola tahmin saldırılarına karşı direnç sağlamak için, parola rastgele bir
"salt" ile birleştirilir ve dosyasistemi anahtarının şifresini çözmek için daha önce
kullanılan standart PBKDF2 algoritmasını kullanarak SHA1 ile defalarca "hash"
edilir.
47. 34
Sözlük parola tahmin saldırılarına karşı direnç sağlamak için, Android tarafından
zorunlu ve cihaz yöneticisi tarafından ayarlanabilir karmaşık parola kuralları sağlar
[4].
Dosyasistemi şifreleme, bir kullanıcı parolasının kullanımını gerektirir. Örnek
tabanlı ekran kilidi desteklenmez.
* hash: bir hashing algoritmasının ( md5, sha1, sha2 ) şifrelenmiş çıktısıdır. Bir
hashing algoritmasında açık metin ve şifrelenmiş metin arasında tek yönlü bir ilişki
vardır. Yani herhangi bir açık metin şifrelenmiş metine dönüştürüldüyse, şifrelenmiş
bir metin açık bir metine dönüştürülemez. Hashing algoritmasında girdinin boyutu
standart dışında büyük olsa bile şifrelenmiş çıktısı sabit değerdedir. Bu sayede
girdinin boyutu veya türü belirlenemez.
* salt: rastgele üretilmiş ve oluşturulmuş değerdir. Şifre ve salt birleştirilerek ortaya
çıkan metin bir hash fonksiyonuna gönderilir. Sonra ortaya çıkan bu hash veri, salt
ile birlikte kaydedilir. Büyük boyutlardaki salt değer, her şifreyi eşsiz hashleyerek
önceden hesaplanmış saldırıları engeller.
Örneğin; X ve Y' ye ait aynı veritabanında saklanan aynı şifreler, salt değerleri
farklı hash değerlerine sahip olacakları için bir saldırgan veritabanına erişse bile bu
ikisinin şifresinin aynı olduğu bilemeyecektir. Saldırganın başarılı olabilmesi için her
salt değerinin ayrı ayrı hesaba katılması gerekir. Salt kullanılmasının amacı
şifrelerdeki entropi seviyesini arttırarak daha iyi bir koruma sağlamaktır.
3.2.8.2. PAROLA KORUMASI
Android, bir cihaza erişim sağlamadan önce kullanıcı tarafından sağlanan parolayı
doğrulamak için yapılandırabilir. Cihazın yetkisiz kullanımını önlemeye ek olarak,
bu parola tam dosyasistemi şifrelemesi için şifreleme anahtarını korur. Bir parola
veya karmaşık parola kurallarının kullanımı bir cihaz yöneticisi tarafından gerekli
olabilir.
3.2.8.3. CİHAZ YÖNETİMİ
Android 2.2 ve sonraki sürümler sistem düzeyinde Android cihaz yönetim özellikleri
sağlayan API sağlar. Örneğin; Yerleşik Android E-posta uygulaması, Exchange
desteği arttırmak için API'leri kullanır.
48. 35
E-posta uygulaması sayesinde, Exchange yöneticileri cihazlar arasında sayısal
PIN'ler ve alfasayısal parolalar dahil parola politikalarını uygulayabilir. Yöneticiler,
ayrıca kayıp veya çalıntı telefonları uzaktan silebilir. Android sistemiyle birlikte
dahili uygulamalarda kullanmaya ek olarak, bu API'ler Aygıt yönetimi çözümlerinin
3.taraf sağlayıcıları için kullanışlıdır.
3.3. ANDROID UYGULAMA GÜVENLİĞİ
3.3.1. UYGULAMANIN UNSURLARI
Android, mobil cihazlar için açık kaynak platformu ve uygulama ortamı sağlar.
Çekirdek işletim sistemi, Linux çekirdeğe dayalıdır. Android uygulamaları en çok
Java programlama dilinde yazılmıştır ve Dalvik sanal makinesinde çalıştırılır. Ancak,
uygulamalar yerel kodda da yazılmış olabilir. Uygulamalar, .APK dosya uzantısına
sahip tek bir dosyadan yüklenir.
Ana Android uygulama yapı taşları:
AndroidManifest.xml: AndroidManifest.xml dosyası, bir uygulama içindeki tüm
üst düzey bileşenler ile sisteme ne yapacağını söyleyen denetim dosyasıdır. Bu aynı
zamanda hangi izinlerin gerekli olduğunu belirtir.
Etkinlikler: Genellikle tek bir kullanıcı odaklı görev için koddur ve kullanıcı için bir
UI görüntülenmesini içerir ancak zorunda değildir ( bazı etkinlikler kullanıcı
arabirimlerini asla görüntüleyemez ).
Tipik olarak, uygulamanın etkinliklerinin biri uygulama için bir giriş noktasıdır.
Hizmetler: Bir hizmet, arka planda çalışan bir kod parçasıdır. Bu kendi işleminde
veya başka bir uygulama süreci bağlamında çalıştırılabilir. Diğer bileşenler bir
hizmete engel olur ve uzaktan prosedür çağrıları ile üzerindeki yöntemleri çağırır.
Bir medya oynatıcı bir hizmet örneğidir: kullanıcı, medya seçimi kullanıcı
arabirimini sonlandırdığında bile kullanıcı muhtemelen hala müzik çalmaya devam
etme niyetindedir.
Yayın Alıcısı: Başka bir uygulama veya işletim sistemi tarafından verilen, amacı
bilinen IPC mekanizmasında örnek bir nesnedir. Bir uygulama, düşük pil mesajı için
veya bu bilgilere dayanarak onun davranışını değiştirmek için bir alıcıya
kaydolabilir.
49. 36
3.3.2. ANDROID İZİN MODELİ: ERİŞİM KORUMALI API'LER
Android üzerindeki tüm uygulamalar, bir Application Sandbox içinde çalışır.
Varsayılan olarak bir Android uygulaması sadece sistem kaynaklarının sınırlı bir
alanına erişebilir. Sistem, kaynakların yanlış veya kötü niyetle kullanılması halinde
olumsuz kullanıcı deneyimi, ağ veya cihazdaki verileri etkileyebilecek Android
uygulamaya erişimi yönetir [7].
Bu kısıtlamalar birçok farklı biçimde uygulanır. Bazı yetenekler, hassas işlevselliği
için API'lerin kasıtlı bir eksikliği tarafından kısıtlıdır ( Sim kartı doğrudan
değiştirmek için bir Android API yoktur ). Bazı durumlarda, uygulama başına
depolama yalıtımı gibi rollerin ayrılması bir güvenlik önlemi sağlar. Diğer
durumlarda hassas API'ler, izinler olarak bilinen bir güvenlik mekanizması sayesinde
korunmak ve güvenilir uygulamalar tarafından kullanılmak için amaçlanmıştır.
Bu korumalı API'lerin içerdikleri:
* Kamera İşlevleri
* Konum İşlevleri
* Bluetooth İşlevleri
* Telefon İşlevleri
* SMS / MMS İşlevleri
* Ağ / Veri Bağlantıları
Bu kaynaklar, yalnızca işletim sistemi üzerinden erişilebilirdir. Cihaz üzerinde
korumalı API'lerin kullanımını sağlamak için, bir uygulama onun bildiriminde
ihtiyacı olan yetenekleri tanımlamalıdır. Bir uygulama yüklemeye hazırlanırken,
sistem kullanıcıya istenen izinleri gösteren bir iletişim kutusu görüntüler ve
yüklemeye devam etmek isteyip istemediğinizi sorar. Kullanıcı yüklemeye devam
ederse, sistem kullanıcıya istenen tüm izinlerin verilmiş olduğunu kabul eder.
Kullanıcı, izinleri tek tek red veya kabul edemez. Hepsini bir bütün olarak red veya
kabul edebilir. Bir kez verilen izinler, uygulamaya yüklü olduğu müddetçe uygulanır.
Kullanıcı karışıklığını önlemek için; sistem, uygulamaya verilen izinlerin tekrarı için
kullanıcıya bildirimde bulunmaz. Çekirdek işletim sisteminde bulunan veya bir OEM
ile paketlenmiş uygulamalar, kullanıcıdan izin istemez.
50. 37
Eğer bir uygulama kaldırılırsa izinleri de kaldırılır bu yüzden bir sonraki yeniden
yükleme için yeni izin ekranlarına ihtiyaç olacaktır.
Cihaz ayarları içinde, kullanıcılar daha önceden yüklü uygulamaları için izinleri
görüntüleyebilecek, GPS, radyo veya Wi-Fi gibi bazı küresel işlevleri seçerek devre
dışı bırakabilecektir. Bir uygulama; uygulamanın beyanında bildirilmemiş korumalı
özelliği kullanmak için çalıştığında, izin hatası uygulamaya geri atılan bir güvenlik
istisnasına tipik sonuç olacaktır.
Korumalı API izin denetimi, tuzakları önlemek için mümkün olan en düşük seviyede
uygulanır. Bir uygulama yüklendiğinde kullanıcı mesajlaşma örneği korumalı
API'lere erişim talep ederken Şekil 2 'de gösterilmiştir.
Uygulama Yükleme İzinleri & G. Maps Yüklenmiş Uygulama İzinleri & Gmail
Şekil 2: Uygulama için izinlerin gösterimi
51. 38
OEM tarafından önceden yüklenmiş uygulamalar ile kullanılıyor olabilen, 3.parti
uygulamalar için geçerli olmayan ama SMS yayın amaçları gönderme yeteneği gibi
bazı cihaz yetenekleri vardır.
3.3.3. KULLANICILAR 3. PARTİ UYGULAMALARI NASIL ANLAR?
Android, 3.parti uygulamalar ile etkileşime girdiğinde kullanıcılara açık hale
getirmek için çaba harcar ve bu uygulamalar kullanıcıyı bilgilendirme yeteneklerine
sahiptir. Herhangi bir uygulama yüklemeden önce, uygulamanın istediği farklı izinler
hakkında kullanıcıya net bir mesaj gösterilir. Yüklendikten sonra, herhangi bir izin
için kullanıcıya onay sorulmaz [7].
Yükleme zamanından önce, izinleri göstermek için pek çok sebep vardır. Bu
olduğunda kullanıcı etkin olarak uygulama hakkındaki bilgileri, onların ihtiyaç ve
beklentilerinin uyumlu olup olmadığını belirlemek için işlevsellik ve geliştiriciyi
gözden geçirir.
Diğer bazı platformlar, kullanıcı bildirimi için uygulamalar kullanımdayken veya
her oturumun başında izin isteyen farklı bir yaklaşım kullanır. Android'in vizyonu,
kullanıcılar için uygulamalar arasında sorunsuz geçiştir. Her defasında teyit
sağlanması, kullanıcıyı yavaşlatacak ve harika bir kullanıcı deneyimi sunan Androd'i
engelleyecektir. Kullanıcı, yükleme zamanında eğer onlar rahatsız ediyorsa
kullanıcıya uygulamayı yüklememe seçeneği sunan inceleme izinlerine sahiptir.
Ayrıca, birçok kullanıcı arabirimi üzerindeki çalışmalar kullanıcının gösterilen
herhangi bir iletişimi "tamam" diyerek başlatması için bazı sebeplere sahip olduğunu
göstermiştir. Android'in güvenlik hedeflerinden birisi, kullanıcıya kendisinin
görmezden gelindiği yok sayıldığı iletişimleri kullanarak yapılamayan önemli
güvenlik bilgilerini etkin bir şekilde iletmektir. Bir kez ve yalnızca önemli olduğunda
önemli bilgileri sunarak, onların kabul ettiğinin hakkında kullanıcının ne düşündüğü
daha olasıdır.
Bazı platformlar, tüm uygulama işlevselliği hakkında herhangi bir bilgi göstermeyi
tercih etmez. Bu yaklaşım, kullanıcıları uygulama yeteneklerini tartışmaktan ve
kolayca anlamaktan engeller. Tüm kullanıcıların her zaman tam bilinçli kararlar
alması mümkün değilken, Android kullanıcının geniş bir yelpazesindeki kolayca
erişilebilir uygulamalar hakkında izinleri model bilgi haline getirir.
52. 39
Örneğin; beklenmedik izin istekleri, uygulama işlevselliği hakkında kritik sorular
sormak için daha sofistike yani çok yönlü gelişmiş kullanıcıları isteyebilir ve onlar
tüm kullanıcılar tarafından görülebilen Google Play gibi yerlerde kaygılarını
paylaşabilir.
3.3.4. İŞLEMLERARASI İLETİŞİM
İşlemler, geleneksel UNIX tipi mekanizmalardan birini kullanarak iletişim kurabilir.
Dosya sistemi, yerel yuva ve sinyaller gibi örnekleri içerir. Ancak, yine de Linux
izinleri geçerliliğini korur.
Android, ayrıca yeni IPC mekanizmaları sağlamaktadır:
Binder ( bağ ): Hafif bir yetenek tabanlı yordam çağrı mekanizması, süreç ve süreç
dışı çapraz aramalar gerçekleştirilirken yüksek performans için tasarlanmıştır.
Binder, özel bir Linux sürücüsü kullanılarak uygulanır.
Services: Hizmetler, Binder kullanarak doğrudan erişilebilir arabirimleri sağlar.
Niyetler ( Girişimler ): Bir niyet, birşey yapmak için bir "niyeti" temsil eden basit
bir mesaj nesnesidir. Örneğin; uygulama bir web sayfasını görüntülemek istiyorsa,
bir "niyet örneği" oluşturarak URL'yi görüntülemek için bir "niyet" ifade edilerek
kapalı sisteme teslim edilir. Sistem, kodun bazı diğer parçalarının "niyeti" nasıl
koruduğunu bulur ve onu çalıştırır. Niyetler, ayrıca sistem genelinde ilginç olayların
yayını için kullanılabilir.
Content Providers ( İçerik Sağlayıcılar ): Bir İçerik Sağlayıcı, cihazdaki verilere
erişimi sağlayan bir veri deposudur ve kullanıcının kişiler listesine erişmek için
kullanılan klasik bir örnektir. Bir uygulama, İçerik Sağlayıcı yoluyla diğer
uygulamaların ortaya çıkardığı verilere erişebilir ve ayrıca bir uygulama kendi
verilerini ortaya çıkarmak için kendi İçerik Sağlayıcılarını tanımlayabilir.
Ağ yuvaları veya herkes tarafından yazılabilir dosyalar gibi diğer mekanizmaları
kullanarak IPC uygulamak mümkün olsa da, bunlar önerilen Android IPC
çerçeveleridir.
53. 40
3.3.5. MALİYET DUYARLI API'LER
Maliyet duyarlı bir API'nin herhangi bir işlevi, kullanıcı veya ağ için bir maliyet
oluşturabilir. Android platformu, işletim sistemi tarafından kontrol edilen korumalı
API'lerin listesindeki maliyet duyarlı API'leri yerleştirmiştir. Kullanıcı, maliyet
duyarlı API'leri kullanmak isteyen 3. parti uygulamalara açık izin vermelidir.
Android 4.2. SMS kullanımı üzerinde daha fazla denetim sağlar. Eğer, bir uygulama
ek ücrete neden olacak kaliteli hizmeti kullanarak kısa koda SMS göndermeye
çalışırsa Android bir bildirim sağlar. Kullanıcı, mesaj göndermek ve engellemek için
uygulamaya izin vermeyi seçebilir.
Bu API'ler şunları içerir:
* Telefon * Ağ / Veri * In-App Billing
* SMS/MMS * NFC Access
3.3.6. SIM KART ERİŞİM
Sim karta düşük seviye erişim, 3.parti uygulamalar için geçerli değildir. İşletim
sistemi, tüm iletişimi Sim kart hafızasındaki kişisel bilgilere erişim de dahil olmak
üzere Sim kart ile yönetir. Uygulamalar, RIL tarafından özel olarak yönetildiği için
ayrıca AT komutlarına erişemeyebilir. RIL, bu komutlar için yüksek seviyeli API 'ler
sağlar.
3.3.7. KİŞİSEL BİLGİLER
Android, korumalı API'lerin dizisinin içindeki kullanıcı verilerine erişim sağlayan
API yerleştirmiştir. Normal kullanımlar ile Android cihazlar aynı zamanda
kullanıcılar tarafından yüklenen 3.parti uygulamalar içindeki verileri de
biriktirecektir. 3.parti uygulamalardan gelen verileri korumak için Android izin
kontrollerini kullanabilir, bu bilgileri paylaşmak için uygulamalar seçilebilir.
Sistem içerik sağlayıcıların, açıkça tanımlanmış izinler ile oluşturulmuş rehber ve
takvim gibi kişisel olarak tanımlanabilir kişisel bilgileri içermesi muhtemeldir. Bu
parçalı yapı, uygulamaya sağlanabilir bilgi türlerinin açık göstergesi ile kullanım
sağlar. Yükleme sırasında bir 3.cü taraf uygulama bu kaynaklara erişim için izin
isteyebilir. Eğer izin verilirse, uygulama yüklenebilir ve yüklü olduğu herhangi bir
zamanda istenen verilere erişebilecektir.
54. 41
Şekil 3: Hassas kullanıcı verilerine erişim yalnızca korumalı API'ler aracılığıyla
kullanılabilir.
Herhangi bir uygulama kişisel bilgileri toplayacak, varsayılan olarak bu bilgiler
sadece özel uygulama için sınırlı olacak. Eğer bir uygulama, IPC'ye rağmen diğer
uygulamalar için verileri kullanılabilir duruma getirmeyi seçerse IPC mekanizması
için uygulama erişim verme izinleri uygulayabilirsiniz.
3.3.8. HASSAS VERİ GİRİŞ CİHAZLARI
Android cihazlar sıklıkla, uygulamaların çevre ile etkileşimine izin vermek için
kamera, mikrofon veya GPS gibi hassas veri giriş cihazları sağlamaktadır. Bir 3.parti
uygulamanın bu cihazlara erişmesi için, Android İşletim Sistemi izinleri aracılığıyla
kullanıcı tarafından ilk olarak açıkça erişim sağlanmalıdır. Yükleme sonrasında
yükleyici, algılayıcı ( sensör ) için kullanıcı adı isteyen izni isteyecektir.
Bir uygulama kullanıcının konumunu bilmek isterse, uygulama kullanıcının
konumuna erişmek için bir izin gerekir. Yükleme sonrasında yükleyici, uygulama
kullanıcının konumuna erişirse kullanıcıya soracaktır. Herhangi bir zamanda,
kullanıcı herhangi bir uygulamanın kendi konumuna erişmesini istemiyorsa, o zaman
"ayarlar" uygulamasını çalıştırabilir, "konum ve güvenlik"'e gider, "kablosuz ağları
kullan" seçeneğinin işaretini kaldırır ve "GPS uydularını etkinleştir"'ir. Bu,
kullanıcının cihaz üzerindeki tüm uygulamalar için konum bazlı servisleri devre dışı
bırakacaktır.