Slide 1

Slide 1 text

irresponsible disclosure short handbook of an ethical developer LEMi ORHAN ERGiN AGILE SOFTWARE CRAFTSMAN

Slide 2

Slide 2 text

we live in a new era

Slide 3

Slide 3 text

THE DATA ERA

Slide 4

Slide 4 text

THE DATA ERA where we are the products

Slide 5

Slide 5 text

where we are the products where our data issold THE DATA ERA

Slide 6

Slide 6 text

where we are the products where our data is sold we are THE DATA ERA

Slide 7

Slide 7 text

where we are the products where our data is sold we are where algorithms decide what to buy THE DATA ERA

Slide 8

Slide 8 text

who to vote THE DATA ERA what to feel where we are the products where our data is sold we are where algorithms decide what to buy

Slide 9

Slide 9 text

THE DATA ERA where We've facing corruptions more then ever in software history

Slide 10

Slide 10 text

THE DATA ERA where we need more developers

Slide 11

Slide 11 text

THE DATA ERA better professionals ethical professionals where we need more developers

Slide 12

Slide 12 text

we need to talk about ethics more than ever

Slide 13

Slide 13 text

technology should be constrained by human values https://www.ted.com/talks/zeynep_tufekci_we_re_building_a_dystopia_just_to_make_people_click_on_ads WE'RE BUILDING A DYSTOPIA JUST TO MAKE PEOPLE CLICK ON ADS, ZEYNEP TÜFEKÇİ

Slide 14

Slide 14 text

ethics should govern behaviors

Slide 15

Slide 15 text

ethics should govern behaviors decisions politics companies management professions

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

sets of discipline and minimum standards of behaviors turn development into a real profession SOFTWARE DEVELOPMENT IS A PROFESSION

Slide 18

Slide 18 text

Knowing how well you perform when you do your profession CRAFTSMANSHIP IS A JOURNEY

Slide 19

Slide 19 text

Loves his job Passioned Disciplined Motivated Apprentice Practices a lot Has no ego Embraces feedback Delivers value, not crap Focuses on quality Shares knowledge Participates meetups Joins communities Ethical developer Improves productivity Works as teams Learns like crazy Feels responsible Retrospects regularly Proficient with the tools Reads a lot Knows to say no No the one in the corner Checks quality metrics Programs in PAIRS lets the code test itself CRAFTER SOFTWARE

Slide 20

Slide 20 text

Loves his job Passioned Disciplined Motivated Apprentice Practices a lot Has no ego Embraces feedback Delivers value, not crap Focuses on quality Shares knowledge Participates meetups Joins communities Ethical developer Improves productivity Works as teams Learns like crazy Feels responsible Retrospects regularly Proficient with the tools Reads a lot Knows to say no No the one in the corner Checks quality metrics Programs in PAIRS lets the code test itself Ethical developer CRAFTER SOFTWARE

Slide 21

Slide 21 text

PRINCIPLES of AN ETHICAL DEVELOPER SECURITY PRIVACY HONESTY Customer TEAMWORK QUALITY PERSONAL SOCIAL MEDIA CULTURAL

Slide 22

Slide 22 text

We apply secure coding practices. SECURITY We test security of so!ware. We do not keep passwords in clear text. We remove passwords from external files. We protect log files and all internals. We inform security vulnerabilities.

Slide 23

Slide 23 text

We do not disclose private communication. We show respect to privacy of private life. We do not force employees to do overtime. We do not ask passwords of social media accounts to investigate during recruitment process PRIVACY We do not sell/share confidential data

Slide 24

Slide 24 text

We do not claim expertise where we have none. We do not inflate our abilities. We do not state undone tasks as done. We do not intentionally misestimate tasks. We do not falsely deny the presence of bugs. HONESTY We do not cheat on performance & quality KPIs.

Slide 25

Slide 25 text

We do not under/over value the outputs. We do not promise what we cannot deliver. We do not hide current status of the project. Customer We do not deceive customers about defects.

Slide 26

Slide 26 text

We do not hide information from teammates. We do not criticize just to feed out ego. We help our teammates when they need help. We ask help when we need help. TEAMWORK We do not be the guys in the corner

Slide 27

Slide 27 text

We do adequate testing and review. We write well-cra!ed code. We write sufficient documentation. We take full responsibility of the code. We regularly check code for quality & refactor. We validate fixes before se$ing them as fixed. QUALITY We do not accept to develop in lower quality.

Slide 28

Slide 28 text

We do not cultivate a brogramming environment. We do not steal unauthorized code. We do not use cracked or unlicensed tools. We do not reuse copyrighted code unless proper license is obtained. We do not suppress others opinions. We do not wait others to invest in our career, we invest in ourselves. PERSONAL We do not do mobbing, act sexist or intimidate.

Slide 29

Slide 29 text

We do not involve in trolling, social engineering, perception manipulation or black propaganda. We do not post things private to the company you work or to your colleagues. We do not argue with customers even though we are right. We do not communicate with others like an asshole. We show respect in social media. SOCIAL MEDIA

Slide 30

Slide 30 text

We give feedback fast. We also give positive feedback. We do not raise our voice to colleagues or to customers. We do not blame others. We respect to people and to our profession. We trust by default. CULTURAL We leave our ego behind the doors

Slide 31

Slide 31 text

what about irresponsible disclosure ?

Slide 32

Slide 32 text

what about irresponsible disclosure ? It does not ma!er if a bug bounty program exists or not. We should report security vulnerabilities to the company privately. Use private channels and make it confidential. Be ethical and find ways to report it to the company

Slide 33

Slide 33 text

what about irresponsible disclosure ? hey wait a minute... We already did what we recommended here. It does not ma!er if a bug bounty program exists or not. We should report security vulnerabilities to the company privately. Use private channels and make it confidential. Be ethical and find ways to report it to the company

Slide 34

Slide 34 text

0-day vulnerability had already published on public by someone 2 weeks before it means, the vulnerability could already be available in deep web it means, hackers could have already started to access machines via root

Slide 35

Slide 35 text

OUR INFRA TEAM CONTACTED WITH APPLE SEVERAL TIMES ABOUT THE VULNERABILITY Without writing any password, I could connect to system as root after I entered 3 times. I am saying these to let you understand how serious the topic is. If any company get hurt due to this vulnerability, Apple is the responsible. I don't think you can resolve this issue, therefore I want to talk with someone from security. LIKE THE ONE ON NOV 23, 2017 10:58, 5 DAYS BEFORE THE DISCLOSURE

Slide 36

Slide 36 text

fire alarm When you see the fire spreading uncontrollably, you have to press the fire alarm Sometimes keeping the issue private causes more problems than making it public

Slide 37

Slide 37 text

https://www.flickr.com/photos/editor/8560592076 https://gratisography.com Attribution 2.0 Generic (CC BY 2.0) CC0-like Custom License https://www.flaticon.com Icons made by Freepik from FlatIcon Basic License https://www.flickr.com/photos/24498687@N03/2337550017 Attribution-NonCommercial 2.0 Generic (CC BY-NC 2.0) REFER ENCES