I'm Maria Mamolo, so now today we change a little bit the chair of the sessions in order at least to make a little bit, giving a change always makes things a little bit more dynamic. It's a great pleasure to introduce Dr. Sergei Sherbov. He is working in Vienna at the Wittgenstein Center for Demography and Global Human Capital, and he will introduce us, so he's a demographer. His topic, more recent research topic is on population aging, and he will introduce us with a new perspective on population aging, and at this point I give you the floor to present this interesting topic. What I kindly ask you is to be sharp with the time slot, because I think this is important than to trigger more discussion between us. Thank you. Thank you, Maria, for introduction. Well, thank you very much, Matteo, thank you, Maria, for inviting me to express some of the ideas that we had. Well, actually I became demographer probably about 30 years ago, 35 years ago, initially I was in space programs, aviation and space programs, but many demographers came from different sciences, like Nicolle came from nuclear physics, so. Okay, so today I talk about aging, a new look on aging. So the work is basically based on what we did together with my colleague, Warren Sanderson, from Stony Brook University, for the last 15 years at the World Population Program at that time, it was called like that, the International Institute of Applied Systems Analysis. So my talk will be basically like introduction to the book that Harvard University Press published very recently, it was just a couple years ago, and it was called that my lectures is exactly, has the same name, Perspective Longevity, a new vision of population aging, that what we basically were working with Warren Sanderson for the last, for the past 15 years. So I will first talk about, I will first talk about some definitions of aging, because I guess that many people sitting here are not much aware of demographic definitions. Then I will talk about some new ways to measure aging, give some introduction to so-called characteristic approach, and give some examples and how the world, how aging in this world looks very different if we introduce, from my point of view, much more realistic definition of who is old. So it is on purpose, I put here 2017 UN World Population Prospects, it's just the major message that according to the data from World Population Prospects 2017 revision, the number of older persons, and it explicitly shown here, those age 60 or over, that's in 2017, United Nations defined old people, 60 plus, and then of course they're saying it's triple the number of old people, double and whatever. Now before we start talking about aging just few headlines, like newspapers, journals, very prominent journals like Economist, they all write about the same, the global aging poses significant threat to global prosperity, aging population poses global challenges, and so on. So before we talk about aging, let's look at the definitions of aging. So general definition, population aging is a process by which older individuals become a proportionate larger share of the total population, it's very general, or aging is a summary term of shifts in age structure towards older age groups. How do we measure population? The aging of population is often measured by increases in the percentage of elderly people of retirement ages, that's one of the definitions from Encyclopedia of Population. The median age, the age at which exactly half population is below this age, half above is another very popular measure of aging, and they are saying the population aging occurs when the median age of the country or region rises. Now of course old age dependence ratio is also very popular measure of aging where we look at the ratio of population at retirement ages compared to the population at working ages. That was probably the most popular measure, and that's what for example economists would always use. But who is old? That's a key issue. So how do we measure the proportion of older people? We have first to define who is old, and the United Nations until very recently defined people age 60, but even if it's 65, we still have this boundary kept constant, so it would be 60 or 65. Now this is a small question to people sitting here. Definition of who is old, age 65 is generally set as a threshold of old age since it is at this period of life that the rates of sickness and deaths begin to show a marked increase over those of the early years. When do you think this definition was made? Any ideas? 1916 by American sociologist Isaac Rubinov. So more than 100 years passed and we still consider people old at age 65. Sometimes we even consider them old at age 60. And this is one of my favorite tables. It's the record of oldest male Summitor of Everest. You see, the youngest was, the oldest was 39 years old, well, from Nepal in 1953. Today, I mean, it's 2018, it's 80-year-old Japanese guy. And he, as far as I remember, was planning to do it again at age of 85. Of course, equipment is different, but people are also very different. So it's not that only equipment. Okay, now let's look at some traditional measure of aging before we move to defining some new measures. So I use some UN data, basically, in terms of forecasts, more or less for our terms, doesn't really matter. For our purpose, it doesn't matter which population revision would take. Now median age, of course, in all regions, rising. That's clear from 1960 to 2000, from 1960, 50 even, 2060, 2050, it just rises everywhere, or even Africa here is coming up. Proportion of age 65 is rising. So it's all following, you know, these alarming statements. Everything is, you know, we see that, for example, if we take Europe from 10% in less than 10% in 1960, up to 30% in 2050, and this is just Europe as a whole, if you take individual country it will be even much stronger. And all the age dependency ratio, it's triples, even sometimes five times higher. Now let's talk about new measures of aging. So first let's look at age itself and at prospective median age. So the literature of population aging is exploding, but the notion of age is still the same. Who is old? It's still the same. It doesn't change. So the concept used to analyze aging have remained static for the last, I don't know, 100 years probably, since Bellot introduced all the age dependence ratio in something like 1911, something like that. Now this is to illustrate this concept. Suppose a man living in Western Europe is going to celebrate his 60th birthday. Is he old? Now I guess we have a mixed group of people, some would say, oh no, no, he's not old at all. He's very old. But I think in general, today, it's probably, the person is probably not considered at all because 93% of men would survive until this age, at least in countries with high life expectancy. However, about 150 years ago, only 25% of men would survive until this age and probably at that time someone at age 60 was really considered to be pretty old. Now why is the person who is considered middle age today was considered probably a pretty old, you know, 150 years ago? Because traditional age measures only how many years we live since we are born. And it backward-looking measure. So all people, you know, having the same age, they live the same number of years. And this measure is not complete because it ignores changes in life expectancy. That's why young and old notions where we have to take into account life expectancy. So in two papers, one published in Nature, another in Science with Warren Sanders, with my colleague, we basically introduced measures of age, first of all, we call it prospective age. Prospective age is a forward-looking measure. And in a minute it will be clear what it means. So basically decisions that people make today, they're very much dependent upon how many years people expect still to live. Like probably 100, 150 years ago it would be very uncommon that someone buys a house at age 70. But today it happens a lot. Hundred years ago it would be very unlikely that someone goes to university at age of 55. I knew lots of, I was teaching for many years in the Netherlands, in Groningen, and we had many students above age 50. So people know their future, know how many years they will be still around and they make decisions accordingly. So many, many aspects of our life, economic, social, they depend upon our general knowledge how long we're going still to stay on this planet. So basically prospective age, as we introduced this measure, prospective age measures how old people are not only from the date of their birth, but taking into account basically adjusting this age with lengthening life expectancies. For example, coming back to our example, so using the concept of prospective age you may say that someone who is 60 years old today can be compared to someone who was 43 years in 1850. And vice versa, someone who was 60 years old in 150 years ago probably could be compared roughly to someone who is 74 years today and in a minute it will be all clear how this calculated. Basically we recognize people of having two different ages. One age is chronological age and all people, all groups of people who have the same chronological age they leave the same number of years. Now in contrast we have prospective age and it's concerned with the future and everyone with the same prospective age has about the same remaining years of life. So prospective age requires a year of reference which is called standard year. And for example all people who have a prospective age 40 have the same remaining life expectancy as a 40 year old person in a standard year. This is slightly like inflation in economics. And after we introduce this measure of prospective age there was sort of explosion of papers and also we called it as inflation of age. But inflation of age is probably a good thing because we use in economics we use price indexes you know to adjust for inflation and we measure for example prices in standard dollars of 1960. Similarly we do here we measure age but in for example standard years again in 1960 but instead of price indexes we use life tables to do this in demography. So this is an example which will clarify just especially for Italian data. So suppose this what do we have on this slide? We have prospective age 40 standard period 1950. So what do we have here? 1950 females at age 40 had remaining life expectancy 35.3 years. Men at age 40 had remaining life expectancy 33.7. So in all those periods for example in 2019 women at age 51.3 had exactly same remaining life expectancy the same was men at age 50. So all those people have the same prospective age as we select as a standard 1950. That is the basic. So if it's clear we can move further. Now that's how this ages look like. Now what we have here? I selected as a reference year 1940 sorry 2019 I didn't touch 2000 because 2000 you see here it just it's COVID so it's slightly changed the things but then at least prospects United Nations forecasts and most of the cases they basically ignore the small change in life expectancy. So let's look at this trajectory 40. So in Italy females in 2019 at age 40 had particular life expectancy. It's not important what was this life expectancy. At age 40 now at those ages the longest curve they had exactly same remaining life expectancy. So in 1960 women at age 30 had exactly same life expectancy as women in 2019 at age 40. So this is basically scientific justification that 40 is a new 30 and you would see it all same food for men even sometimes stronger and see this. Basically for most of the ages well of course when we move sort of higher it's slightly different but still we have 60 is a new 50 70 is yeah basically new 60. So which means people are different and the same you have for men that was United Kingdom also very very similar. This is Japan. Japan even stronger. You see you have here in age 40 in 2019 it is like 25 in 1960. So 40 is a new 25 yes. Thank you. Have you analyzed the any qualitative indicator so we can't say that 40 is the new 30 unless we look at the health at that age because the fact that they are living longer may just be because when they get chronic diseases they are living a low quality of life for longer rather than seeing the onset of illness later and I think it's important to understand that we're good at keeping people alive longer now. That doesn't necessarily mean the quality of life is demonstrably different. And so thinking about what your grandmother was like at age 40 versus your mother at age 40 are there health wise indicators at those equivalent ages. Yes this is this important question but this is this is this is the topic of the whole presentation. Yes I will mention about that and this book that I referred to the beginning it has two I think three chapters devoted to that and in simple response is that people are healthier and you can see for example for men if you look man they're just they're healthy life expectancy goes basically in parallel with their with their life expectancy overall. If you take female that's also a topic of special papers because subjective health of women usually is lower subjective but what is subjective health. We had this 2008 crisis financial crisis and then suddenly everyone share share show that everyone had bad worse health because it's subjective. Many things are so that's but that's a very separate topic. If you look at some objective measures of health basically people are healthy. Okay so the same you have the same for the United States for France basically this is general picture. And also now now let's look at aging if we introduce this concept of prospective age. So basically we standardize age with increase in life expectancy so that's what I put here so using the concept of prospective median age we may come to the different conclusion about the whole history of aging look here here we have traditional median age. What is it here we have here Switzerland you know from 1876 so of course median age comes up on average now but if we standardize it with increase of life expectancy basically we select a standard year I think here I selected 1980 that's why they were over crossed in this year now let's look this is a history of prospective median age. Populations are becoming younger once we take into account increase in life expectancy populations are becoming younger and of course they cross over here at the year of standard. Of course this curve important is to see the dynamics not the level because the level would depend which standard you are we select the same as with standard dollar if we select 1960 it will be one level if we select 2010 it will be different level so the same story here but important is the dynamics so population is becoming younger now England Wales very similar story so for the last 150 years population now is younger than it was 150 years ago if you take into account increases in life expectancy. So these are for some countries for some selected countries again like Italy of course you have here some jumps that was Hispanic flu this is a wartime but the trend is that population somewhere at the end of well before 19 was younger than it is was older than it is now the same here Sweden you have similar to Austria for Russia it's very different because life expectancy was decreasing in Russia for the last 40 years it's only slightly increased recently now projections so that's how you end okay that's life expectancy okay here is median age this is traditional media age median age for all regions of the world and this is median age prospective median age if you take into account that life expectancy is increasing so basically not much aging is observed in the next 100 years and that's for for some countries for India whatever for India I think China but I will have more pictures on that now we had we used 2017 probabilistic projections and I show you that probably together with with people from UN we on this picture you have probabilistic median age traditional probabilistic median age so what is probabilistic which means that the chance is 90 90% median age in 2000 2100 will stay in this area okay now this is prospective median age of course it is much smaller it comes down but the probability range prediction range is about the same but much lower level I think the same we have for the for Germany so median age is stabilizing somewhere by the end of the century because the structure becomes almost stable and prospective median age comes down now this here we talked about median age analog of median age prospective median age now let's talk about second measures that we discussed with you that's proportion of all three people or an old age dependency ratio now what we have on this picture here we have proportion of people above age 65 for OECD countries you know from the beginning of last century it is increasing definitely now this is just simple averaging now how life expectancy was growing at age 65 that's life expectancy at age 65 it was also growing for all those countries you know from 19 up to almost now okay I think it's something like 2010 but it doesn't matter now this is average so it was growing now let's see somewhere in the end in the middle of 70s last century 1970 1975 life expectancy at age 65 both genders combined was about 15 years now let's assume that like in the 70s someone with remaining life expectancy 15 years is old okay now let's see what would be the age that would correspond to life expectancy 15 years and less that's OECD countries so you see definitely it's around 65 in the 70s but it's coming up and today I think it will be something like 75 close so this is combined averaged you see it's already in the 2000s it's already 70 age when remaining life expectancy is 15 years and less so let's assume that someone is old as I mentioned already when on average life expectancy is below age 15 let's call this age old age threshold now how would proportion of old look like with this new definition of older people so this is proportion of people with remaining life expectancy 15 years and less and it's average no aging for the last 100 years no aging once we consider dynamic old age threshold there is no aging and this is very strange at least to my point if you and that's why we started all this work when we compare people of age 65 over of age 60 hundred years ago and hundred years ahead it's these are completely different people their health different their mental capabilities are different everything is different physically they're different as I showed you at the beginning this example of every summit of so people are very very different and we still consider them comparing someone was 100 years ago with 100 years ahead just assuming that people are the same now let's look at projections with this new definition of age so we look at we say PC people age not at age 65 but when they have remaining life expectancy 15 years or less dynamic old age threshold now this is traditional 65 plus of course it's strong aging this is when we have proportion of people above all the expression which is remaining life expectancy it's very very different picture see for some countries it's we become younger people become younger but it's very very different picture now this is all the independence ratio basically the same you see triples six times higher and these are combined Europe or Africa if you take for example Italy next picture I think I will have Italy and this is prospective old age measures which take into account increase in life expectancy a dynamic old age threshold it's completely different picture and this is just a few European countries look here Italy it starts with 0.4 0.2 in 60 where is Italy this one even less and it would be just in in 2050 something like 0.8 of poor for 10 people working eight people in in retirement ages if you consider them traditionally 65 retired person and it's completely different picture we take into account that people are not old age 65 they're older much later which we have to take into account life expectancy that people live longer okay that's another another example that we did some time ago actually I think even with Maria that was when we made this European projections European demographic data data sheets so this is a picture this old age dependency traditional age dependency in 2013 and we see that the blue color show low level so low level is in the Eastern Europe and high level is in the Western Europe of traditional age dependency this is when we take into account life expectancy it's completely different picture it's reverse picture now people from countries from Eastern Europe they are becoming immediately old because life expectancy is much shorter okay this just I just did some using not to level just some old age threshold for Italian regions and you see this is for females the highest old age threshold is Trento above age 75 so women should be considered middle age problem till age 76 and men balsana is something like 73 so someone is below age 73 probably they're still almost young and but we what was surprising to me very pretty big difference this is old age threshold it's about four fourth your difference it's regional difference and that's old age dependency traditional age dependency also Italian regions and if you take into account increases in life expectancy that your person is old when his remaining life expectancy is 15 years and less completely different picture okay this is for probabilistic sense this is even more interesting because you take people 65 plus this is Germany that's traditional proportion 65 plus this proportion with threshold old age threshold 15 years and less it's not only that it's much lower but also the variance the spread is much lower and that can be shown mathematically in the book I think we have a chapter in application in appendix where we show this mathematically and this is China and this is old age dependence ratio here it's completely squeeze uncertainty so this is traditional age dependency this is prospective which takes into account that that people takes into account life increase in life expectancy so not only it's just much slower it's just also much certain this is China okay now let's look few at some features of dynamic old age threshold now on this picture I show like for several European countries proportion of adult life above age 65 what I call here by the adult life that the person yours leave above age 65 in this case divided by overall person yours leave an adult age above age 20 so people spend more and more time males and females above and their old age if you look at traditional pictures now that's how old age threshold is changing you see if it was around 65 and the 80s now it's above 70 for female for males and above almost 75 for females that's how proportion of adult life looks if we take into account this new old age threshold it's completely different picture people spend less and less time in adult age in old age so they spend more more time in the productive ages this is another justification why we should look at the different old age threshold not 65 not fixed what we have here five year death rates at two old age threshold one traditional 65 and another this dynamic you see traditional one life death rates is just declining declining everywhere Austria Italy Sweden well Russia special case and if you look at the prospective old age threshold dynamical dates cause it is basically constant for the last hundred years mortality at age at the old age threshold is almost unchanged these are period date now the same as for cohorts which is even more important these are cohorts you see of course the cohort have to die out then we can check what happened to cover you see this is tragedy this is traditional 65 so mortality rates at age 65 would fall all the time but at at old age threshold the invariant the invariant for all countries so that's what we should select as a threshold and not something which is changing you know every every year now we all know that life expected the highest life expectancy the lower the more aging is happening this is only when we look at this traditional from my point of view not not justified a measure of aging of age now if we take into account new measures of aging that take into account changes in life expectancy people are living longer that they're healthier that they're physically stronger than pictures very different this is just example projections for Germany increases in median changes in median age from 2013 2015 if we have this first scenario is no change in life expectancy this one is one year change in life expectancy to your change in life expectancy per decade now now what happened if we don't have any changes life expectancy population Germany median age population Germany is three years older by 2050 with one year it's four years with two years per decade population becomes six years older median age with perspective measure is completely different of course if there is no changes life expectancy is the same but if you have two years per decade changes increase life expectancy then population is becoming younger now we generalize it all you know it also in this book we introduced the whole concept which is called characteristic approach to the measuring of population aging so what it does basically we look at characteristics of people and we see how this characteristic change at different ages and ups what is this what is the sound sensor and using this approach we may study aging and the speed of aging along different dimensions because aging is multi-dimensional thing we have to look at a different currency physical cognitive health and old age threshold can be different in different if you use different characteristics what is good with this approach that we convert everything to the same metric and this is age and then they can combine different measures of aging like walking speed and chair rise or hand grip completely different measures we can combine them in one measure because everyone every measure refers and trans translates particular measure into age and this is just I think important example for United Kingdom showing different characteristics although taken from live table now what do we have here in 2010 at age 65 we fix life expectancy we fix mortality rate and the fix we call it life course ratio it's the ratio of people at 65 it would be 65 person yours live above age 65 to a person yours lived above age 20 what do we see here now if we take mortality rates so what what is here here we say that in 2000 if we fix it in 2010 then according to UN in 2040 mortality rate that was observed of people at age 65 in 2010 would be observed to people at age 70 in 2040 now the same remaining life expectancy as was at people at age 65 would be in 2040 for people 67 or 68 and life course ratio which is basically also in this book we have the whole chapter about pensions some very very rough estimates should be to have intergenerational equitable pension age it should follow this trajectory it's a life course ratio as we call it so basically if people are retiring at this trajectory they're retiring at better health conditions if we can say that mortality is a proxy for health condition and usually it is and there were a number of papers you including one gym hotel which shows that basically it's there's a strong correlation this is also another example of use of a different characteristic which is called hand grip strengths it shows that people with high education are aging slow more slow than people with low education here for example reference group is people with low education United States it's health retirement study at age 60 they have the same hand grip strengths as people as male at age 65.8 with high education and women at 65.7 and of you see of course it diminishes because of the selection further there is I think selection is manifested very strongly okay this things this this approach was or has already been used by United Nations it was used in a world aging report in world aging 2019 actually we are planning to do some joint paper with them also now and that is I think time is already running okay but this is the last thing you remember I showed you that people were called older persons called by 60 in 2017 revision now in revision 2019 they're not calling them anymore older they're just calling people age 65 and over and I think that's partly you know maybe some some of our influence we have data sheet if someone is interested we prepare data sheet on aging just all countries of the world based on UN data plenty of different indicators based on you old age threshold on new definition of age are calculated and yeah okay and the major conclusion is that of course there will be sort of challenges due to aging but we should not there is no reason to exaggerate them simply using mis-measurement that's it thank you thank you very much Sergei for your interesting presentation and I think there is quite a lot of space for questions from the public thank you for this interesting presentation so now well I have a technical question so how do you compute expected the life expectancy I mean just on the statistics of the current population or this is one question the other question is yeah so so somehow it's a little earlier question so the how much as say expenditure in health system increased in in this year and and and also how much more time have we spent in education age I mean how how longer did the people I mean spend in education probably that's increased I mean so the well-educated people maybe we didn't have PhD programs for example I don't know a hundred years ago and so is there a measure of how much the education time has increased on average so first question is very simple because in demography it's very very standard way of calculating life expectancy it's called period life expectancy based on this year mortality rates so we measure mortality rates for every age group and we calculate it's just standard it's called these are called life tables from this life tables we know expected life expectancy at every age so this is very standard technique there are cohort life tables and I showed some example with covert life tables there we have to wait until all members of court you know die and then we can calculate so-called cohort life expectancy fact that the prospective age is just constant I mean if you define prospective age in this way I mean it's just the distribution which is moving I mean so your question is basically is it the question is whether we calculate life perspective age using period or covert life table is that the question because this is very important demographic question usually if you see it in a group of demographers that would be a question and the good thing is and we also had several papers on the issue that unless there are strong disturbances then period if you calculate a prospective if you have prospective median age or you calculate based on period life tables or cohort life tables results are basically the same so the measures of prospective measures of age they are basically very very similar and that's good thing because otherwise how do you measure it as you do use period life tables or court like that now regarding education if I understood it correctly how do we know education of people well they do spend longer in school because simply I mean I guess if you take 100 years ago first of all it would be a very small selection of people who would go to with education with a high education and I guess it would be not like now you have some to be a medical doctor I guess you have to study maybe almost 20 years or 15 years so they do spend but well that's slightly different question I guess it's just you know I think is Anna is here and she may know because she was doing a lot with education thank you I think we have another question there on the other side of the room that was great that was really interesting I'm just curious about in this last section on characteristics and so forth on of course there is a there is also an effective absolute time in terms of how much we know right so one of them is just it the attitude towards do you look at things like what better correlates with attitudes to risk or optimism or attitudes to change to what extent is perspective age a better predictor of some of the characteristics that we consider at least in the last couple of days critical to changing our attitudes to time on the planet right so if you if you're if you're impatient to make your career successful because you think you're going to be old when you're 60 that might have unintended consequences on the planet and so I'm just curious about this whole obvious effect of absolute time on absolute levels of knowledge and which are better predictors of attitudes towards say the environment is it is perspective age the thing that's going to be more important or chronological age now first of all perspective age has nothing to do with our expectations I mean in terms of individual expectations we have forecasts of life expectancy how they're done it's different story many organizations many institutions are making projections of life expectancy or population projections now when you make population projections you have to assume something about future development of life expectancy and if you look if you ask demographers I don't think that there is any unique sort of idea of what would be life expectancy and say 30 or 40 years but there was a great paper of Jim Wopel with I forgot with someone it wasn't in science it was probably maybe 20 years ago that we always underestimate increases in life expectancy always so life expectancy would be projected by UN and in few years I mean in 10 15 years it would be high the highest life expectancy would be higher than it was expected so in this sense what we are using here there is nothing to do with subjective feelings subjective feelings are extremely important that what what I mentioned like if you take subjective health because you may make measures of health life expectancy and it's extremely tricky I absolutely understand that distinction I'm not it's just that it has an impact on attitudes towards the future if I know this to be the case right this physiological fact not subjective or psychological fact if I knew that to be the case at the age of 20 I might have decided I'm gonna spend 10 years I'm not gonna go to university I'm gonna spend 10 years doing something completely different which is collectively profitable not personally profitable so I'm interested in those kinds of shifts in characteristics attended upon the insight that you're giving us well I think definitely you have your peers you leave you see that most of your peers are still alive okay and if you would compare for example with the previous generation probably people would live less so you knowing from from the literature from from from environment from people around you you know that people live longer so you know that probably you would live longer because that's what you that that's where medicine comes where all this research comes so that's why probably most of the people would not consider that they pass away you know when they study you know the university that there will be you know dad at age 40 45 they know of course it happens with some delay I guess in this sense of course you're right because you don't know what's going on to the future we didn't experience it but you know what has already happened you know when our parents die when some people close to us died they died definitely in most cases at later age than our grandparents so we see this dynamics and of course I think this dynamics also is sort of projected for our own behavior in our minds if this is a response hi if if this prospective age was had had to be used not only to study population dynamics but to take decision on the individual like retirement age or whatever right then the individual person would probably might have different prospective age depending on which region or you you you calculate the estimate so for instance if I I have a prospective age based on expected life in Italy or in Europe or maybe my home region or maybe in the region where I'm resident now because you saw that there are different you show that there are different life expectancy changes across regions so how to choose you know the the special group country region of Europe to to to to use to to to define the prospective age if prospective age had to be used at individual level prospective age is always population measure because life expectancy is population measure so you can you can construct certain groups and you can sort of you know having that what we also also did like you could sort of associate yourself with a particular population group and then you may say okay that's my prospective age but you see most what I was telling today and try to say it's not about even the future it's about the past that we always we compare people today at age 65 with people at age 65 almost 100 years ago or 60 years ago and that's already not correct because people were different in Europe we have on average about two years per decade increase in life expectancy okay at least before COVID COVID is it will have very little impact it has impact on period life table on a particular year of COVID but if you just do sort of cohort things it will have almost no impact so what I was mostly telling showing the history you know this history the population is becoming younger if you take into account changes in life expectancy so there is not much how put it our subjective feelings you can be we are actually one of the chapters we do this type of things on subjective health on subjective issues but most of it is objective you had life expectancy particular life expectancy you know the proportion you know the people the age structure of people you know life expectancy we can adjust things and you see that that population is it's not really aging I think that is the major message so we have to use correct measures and we have to take into account that people live longer because what's happening now governments increase pension age on one hand like 66 67 68 now but they still say that we are old at age 65 which has no logic because they say okay then they increase our pension age in in old age instead of saying no people are different now people are not old anymore at 65 and that what strikes me usually because when I read okay 65 old age okay then people have to work until age 67 68 so they force people like to work at old age no they should say 65 is not anymore in old age so that is the message so if there are no other questions I would I thank Sergei for his presentation and I invite professor Brian


So why collaborate? Okay started out because I couldn't spell and I thought that's pretty cool There's this ER in collaborate and if I turn that around that's RE and RE is fun And then Tim reminded me that it's collab or eight OR and so now we're stuck with it and That's the that's the historical reasons for the bad name But the goal is it's basically a very much inspired by Pedro Mamini's I just think tool if anybody's ever heard of it and or tried to use it and Found it on the fact that reverse engineering binaries can be a very complex time-consuming task and Working in large groups It's nice to get a lot of eyes on the same binary and share the information that people are deriving As they work their way through the binary in the past prior to Ida sync That was basically you could either share databases in a serial fashion. I do some work I give it to you you do some work things quickly diverge and We can get together with our laptops next to one another and bring comments over or devise interesting ways to export portions of the database using various scripting techniques But Pedram took a great step forward when he he came up with the notion of well, let's build a server Let's see if we can't hack some asynchronous networking code into Ida via its plug-in architecture and Let's let's push some of the commands and the updates that people are making in the database out to that server Where they can be cached and shared among? several reverse engineers working on the same binary another problem that we Were interested in the overcoming was the fact that we deal with people using various different versions of Ida So it becomes much more difficult to share databases in that case I have many starving students Working for me who are very much tied to an appreciative of the freeware version of Ida And that is not always capable of opening all databases Newer versions of Ida have a database format that's not backwards compatible So anything I create that I can't just push out to share with my students And as we went along the way we Considered ways that we'd like to improve on Ida sync And basically it's a ground-up Implementation of Ida sync like ideas that doesn't borrow an Ida sync code too much So the overall goals of the project are to provide a way to capture state changes that people make to their databases and It's not to bring everybody on to one machine working on one database. So the state changes are captured in in one version of our server In a sequel database stored according to project that you happen to be working on which is very much tied to the input file via md5 some matching and These updates are tagged Based on user login credentials, so we can track updates to users And then anybody else who joins the project Can automatically receive all the updates that have been made more or less bringing their database very much a separate database Into a state that nearly mirrors hopefully fully mirrors the state of The original database or all of the databases that are sharing on the project We wanted to be able to allow people to you know migrate in and out of the project that will And not be tied to sort of one mass reversing session. Let's descend on a table. Let's all jack in Let's fire up the server share share share ready ready break, and then everybody goes and has their databases diverge wildly in format so Again, the idea is you can you can walk away come back and get everything you missed you can walk or you can you can join in 10 days 10 weeks 10 months later and pick up all the changes that have made since the creation of the initial project We also figured There are many times in reversing where you're you're working your way down a path in a binary Maybe you need to manipulate the binary in some way transform it somehow and you Kind of that makes you pause and wonder well, I could really screw this up So I may like a way to either back out of my changes to have some sort of safe point and the idea here was that we wanted to Leverage the capabilities of the collaborate server to Take a step towards safe pointing checkpointing Projects so the idea with a simple checkpoint is just a bookmark into the current database That we're maintaining of changes and you can come back discard All your previous changes connect to a project and accept databases up to your last save point So it's it was not a rollback It's kind of a replay to current state right now We don't have a way to capture sufficient amount of information to do true undue capability But we hope that at some point as the Ida API evolves in the SDK that so we can capture more state information And be able to do kind of incremental undues Leveraging the information that's been stored on the server Along with the checkpoint notion was well How about forking a project so you decide you'd like to go down two different paths perhaps and We wanted the capability to just have a group go off on and work on one path Creating an entirely separate project while some to some may choose to stay in an original project So there's a forking capability which actually creates an entirely separate project that are parallel to a point But then are allowed to diverge down different paths So you could come in and rejoin it up to any of the fork points follow any of the four points and so on So the basic idea to get this implemented First of all if you're not familiar with Ida sync the way they chose to implement that was to add a variety of hotkeys Via Ida's plug-in architecture and the hotkeys would be additional ways to Perform some Ida actions for example a new hotkey sequence was added to add a Ida sync specific style of comment And if you chose to insert an Ida sync style comment, then the plug-in would push that comment out to the server but it was very much a notion of I have extra hotkeys to learn now and I have to remember to use those hotkeys in order to share my changes So if I insert a normal comment, then everybody doesn't see it. I have to remember people are complaining. I don't see it So yeah, okay. I just think comment alternate hotkey sequence in a way. It goes So you're limited in the number of actions that you could share based on the number of implemented hotkey sequences and associated actions and You are it the installation was somewhat more complex because it required you to come in and tailor your Ida plug-ins Configuration file to actually map all the new hotkey sequences into the Ida sync plug-in There are some other we actually looked on with you know a great desire of using their networking code and as we started Using some of their networking code. We realized that the number of changes that we were pushing Far outstripped the capability of that bit of networking code So we basically wrote the networking the asynchronous networking piece from scratch And I think we've come up with a pretty robust solution that is easily stripped out of Ida sync or I think collaborate And I did not rip it out of Ida sync entirely easily stripped out of collaborate and Taken into any other project that you may wish to do asynchronous communications with the users I'm familiar with Ida may know that may not know that I does pretty much single threaded You don't start separate threads of execution in Ida because Ida performs no Locking mechanisms around its internal database accesses And because it's single threaded in addition to a locking problem. You don't want to perform any blocking operations In your plugins. Otherwise, Ida just kind sits in waits for stuff to happen until your plug-in is completed and returned Control back to Ida So the asynchronous communications are pretty much essential if you just don't want to stare at a frozen screen So our implementation instead leverages the capabilities of Ida's a Software development kit and the API architecture which allows you to register your interest in various Ida events that are generated or fired off in response to user actions, so these events are triggered automatically in Association with user actions such as adding comments or renaming functions or undefining bytes or reformatting portions of the database and This would seem like a much more natural way to capture what was going on as a database was manipulated by the user So we decided we were registered for virtually everything Take the information that was forwarded to us with each notification and push sufficient amount of that information over to a server where Users tied to the same project could receive them via the server's kind of mirroring publishing architecture Which so that's how the server behaves In fact, it just mirrors all received packets out to any connected users while caching packets or datagrams as we call them For anybody who may connect to the project in the future Asynchronous comms. I guess I kind of get out of order and it's the nature of my talks. I apologize And so this pretty much summarizes stuff that I've already said the limitations that we're dealing with are primarily forced on us by the manner in which Ida being a Primarily gooey application on the windows architecture Runs his windows product message processing loop So we've basically got to get tied into that loop And the way to do that in this case is through the use of Windows asynchronous sockets Which advertised various network events in the form of windows messages received through the message queue So some of the things that we dealt with as we developed this and worked our way through the Ida API Were and especially as we thought about the undue capability or there there are no Pre-notifications Ida certainly knows it's about to rename an address But it doesn't tell you that it's about to rename an address You are notified only that the address has been renamed So if we had pre-notification events we could Capture the the current name of an address And capture the new name of an address and then we would actually be capturing sufficient information to start Providing a rollback capability Since we're we're notified after the fact of all changes. It's very difficult to Know exactly what we were rollback to we've thought about some techniques for leveraging a second kind of dummy copy of Ida on the on a given project and that copy of Ida would generate no updates because there's no user associated with it, but receiving all updates would choose to capture its current state Prior to applying an update and we could use that copy of Ida to Generate a sufficient amount of information to provide for some sort of rollback capability So again in addition to that limitation we ran across the occasional bug here and there and the occasional mission feature here and there Received I can't thank him enough Tremendous support from Ilfak For those who've ever dealt with the Ida support. It's pretty instantaneous turnaround on Most reasonable requests so he actually made changes to the API and fix some bugs in near instantaneous time Which allowed us to make you know continued forward projects on the progress on the project So the user interface to this thing is we tried to keep it pretty slim We didn't want to keep popping dialogue boxes all the time because that's clearly pretty annoying So we created we just went ahead and built our own dialogue boxes outside of Ida even though Ida provides some limited capability of building basically format string based GUI components we didn't have the quite the flexibility we wanted so we use custom windows dialogue boxes If you've ever considered doing that in Ida plugins or never and not done it Then perhaps this code will serve as an example to help you customize your plugins in that direction The biggest reason that drove us to that was Ida's text fields don't offer password hiding So for that reason alone, we wanted to use native windows controls and be able to obscure passwords as they were being entered Okay This just kind of sums up a lot of the stuff that we just came to our minds as we were developing the plug-in As we started caching these things on a database Every updates tied to both a project and a user and then it occurred to us that maybe we want to be able to manage these databases somehow which is Interesting ways as we can now turn this into a sequel kind of manipulation problem with all the changes that are sitting there stored on the server Project forking was one of the early things that came up checkpoints said hey That's pretty cool We can just add a table and point at the last update to give it a pseudo name and have a very lightweight project if you will We are very interested in in fact, it's it's just about off the off the table Looking at migrating projects from one server to another so as a quick sequel dump export from one Server import to another server So we've tried to build in the mechanisms to allow you to do that and de-conflict your projects from one server to another And leave them with some sort of global identification capability across various servers In that way again instead of shipping your databases and worrying about what versions of Ida folks may have or may not have You can say well fire up collaborate do a project dump capture all the changes that you've already done and just Join the project okay bring your version of 5.0 up to date with the stuff that we generated on 5.3 Or what have you One we keep kicking back and forth, and we're just not sure where to go with this is The ability to work offline sort of okay. I'm tied to a project and I'm going to be traveling what not and away from the Network connection for a while Well, am I limited can I make any changes or do I really need to wait till I'm tied back to that server? So this was a tough one Because we're not trying to be CVS. Okay, we're not trying to to generate all kind of you know Conflict resolutions on merges and things like that. It's very much of a Last update wins kind of thing So if we're patching bites on top of one another whoever makes the last update kind of wins And for the time being we're of the mind that if you're away from the project and not seeing updates that that some folks are making Then you may not be influenced by their changes. They may not be influenced by your changes So you don't get to make changes Actually, you can make changes Being joined to a project doesn't prevent you from just disconnecting from the project and just going down your own path You just probably don't want to rejoin the project as you've you've made a lot of changes that won't be shared If you think you you want to rejoin at some point You can always set a save point before you walk away And then you'll be able to roll right back up to where everybody happens to be But they won't get your changes at the present time And then we thought about well, okay I'm a teacher I work with lots of students and I'd love to do this So I can kind of drive their Ida displays As I'm working my way through a database and say we go down here and reformat code here We'll throw in some comments here and while I'm doing all this, please don't bork my database Okay, so I really don't necessarily want them publishing changes out to me So I want to make them perhaps read only Subscribers in this environment or prohibit them from making some of the more dangerous types of updates So we started looking at what can we categorize the types of permissions? types of updates that are being made and Split them out into various publish and subscribe permissions. So we tried to offer a granular Sort of subscription capability you can subscribe to comments only or you can subscribe and publish comments and name changes There's a variety of categories That's we're not going to run down through them, but you'll see various slides that point to that Talked a little bit about why undo is difficult. So I'm going to kind of blow through this slide Basically, we're just not getting enough information Pushed out of the database. It's generating the the change event to be ordered in order to be able to roll back to its previous state and More on why working offline is difficult again What we don't want to be doing is pop in conflict a resolution dialog box is all over the place And and making you work it out because it just it hinders your progress through the database To be dealing with pop-up dialogues all the time Okay, how are we doing so basically the plug-in again lots of Repeat here, but the plug-in just registers itself for all interesting notifications We prefer to trigger the plug-in after it is initial auto analysis phase because it is making massive changes to its database Generating a massive number of updates during that auto analysis phase We had played around with disabling auto analysis having everybody fire up with nothing analyzed and then having a master Database perhaps the latest and greatest version of IDA with super plugins for analysis do all of the analysis and That got kind of hairy So we just decided that well Whatever version of IDA you're in the initial auto analysis that you get from that version of IDA is kind of close enough So we highly recommend you join after that's done We tried to minimize the amount of state being saved in the plug-in Things we do save are kind of your just your last server that you might have been connected to We save a global project ID so that we can streamline reconnection once you've joined a project And so on and then the plug-ins job only job is to capture your events and package them up and ship them off to a server And then process incoming events that it may receive from other users So the operation we do introduce one new hotkey that triggers the plug-in and that's pretty much the extent of our intrusion into your IDA experience So you can take the the binary plug-in drop it into your IDA plug-ins directory At the current time I recommend not renaming it from what it names its name by default that actually breaks the plug-in for Reasons that we could probably fix but haven't And then it's just capturing all actions you you you trigger the plug-in it asks you to join a project And then it's kind of hands-off. So there's no OPS. I forgot to push an update. It's just done for you You get various notifications if you drop your network connection You drop your connection to the server you do get a pop-up that warns you hey We've lost your connection to the server consider reconnecting before you generate any more changes Otherwise beware that you're diverging from the rest of the project So we try to be useful to all users of IDA Versions are available and the plug-in compiles easily for versions of IDA from 4.9 up to 5.3 The slides came out before 5.3 did And it also compiles or if you have an SDK for freeware But we provide a binary for the freeware version as well Build scripts are made available for g++ and Visual Studio You have to build a plug-in for your specific version of IDA. We do some Very version specific things as the versions become more capable So there are some header files in there that have actually checked through and determined exactly which version of IDA you happen to be Using and we we try to use the right features for your particular version Again as the SDKs evolved more notification messages are being generated by IDA So newer versions of IDA and their corresponding versions of the plug-in are capable of generating more types of events Capturing more of the changes that you make to the database Older versions of IDA like 4.9 5.0 Actually are not nearly as capable in regards to publishing but every version of the plug-in can receive and process every type of update So while as a 4.9 user your changes may not be pushed To everybody as often as you like But you will receive every type of update that I'd say a 5.3 user makes even though you cannot make those same updates yourself This is a breakdown. It probably looks better on the slide deck of capabilities by version And you can see it's kind of split up into publishing subscribe sides and The publish capabilities improve as you improve IDA versions, but the subscribe capabilities are consistent across all versions of IDA And so This is Tim slide Just another quick reminder for everybody that came in later has been moving around If you want to participate in the demo the information is over here on the left hand screen It's not going the same time So there's like a connection information for the local wireless the auth information and the server to connect you and To be able to see both simultaneously during the demo you might want to migrate towards the middle Which is why the middle is more dense All right So this slide talks a little bit about the Collaborate protocol on the network which shows to do a binary protocol instead of like an ASCII or an XML based protocol per se Because a lot of the messages that are generated have binary content We don't want to have to waste a lot of time Unpackaging and converting to XML and sending across network and then repackaging and how you store it And you have to do that for every plug-in and the server has to generate so whatever. Well, just leave it as binary We just had a datagram size that comes ahead tells you how much more data is coming and then we have two different types of Messages that can go one is basically destined only for the Collaborate specific software, so it's how the plug-in communicates directly with the server. So we've added those messages unique for the collaborate Software the other ones are due to the updates the notifications that Chris was talking about that I degenerate So we'll have different types of notifications that are generated when you Rename a function or add a comment or make a structure update a structure or whatever all of those things go into the other type of comment and those are Broadcast from the plug-in to the server the server mirrors them to all currently connected Clients and then if we're in a database mode for the server, it's also going to archive it in the sequel database So the server maintains all the state How do you guys know the advantages of that just by the conference that you're attending? So we want to leave all of these decisions to be up to the user So the plug-in has the auth components so that you can authenticate to the server and you connect to the server But all of the important decisions are made on the server Which potentially your you're supposed to trust more So the server can be invoked in two different modes the database mode Which is the one that we'll demo here today, and it's by far the most feature-rich version There's also a basic mode if you wanted to collaborate with some people say in an environment like this And you didn't bring a sequel database with you and you didn't want to connect out on the internet You could pull up the server quickly Using your JVM and you could all connect to the project at the same time and it will do the mirroring But it won't do any of the archiving right So a little bit more on that The server requires Java. We tested it on JDK 1.6 There's the two modes simple reflector though for the database mode we're going to need the Java connection software so that Java can talk to the database and That's going to allow for the persistent storage It's available in all different kinds of ways the plugins of course are available right now you can grab them off of the various websites or the the local Website that we have running here the server will be available starting tomorrow We didn't release it for certain reasons until just now and that'll be available in source and It'll also be available in a jar if you didn't want to have to deal with the source And it's also available as a Whatever it's called a VMware virtual appliance on the VMware site So you can literally just start start it up and connect to it So basic mode requires no database It still allows multiple projects so you can have all kinds of different teams working on various RE projects that require more than one set of eyes and They just won't be stored right no persistent storage Also kind of as a side effect that you have no authentication for these kind of things Where are the authentication come from that not storing it in the database? You have to do a flat file it gets more confusing get to diverge at the develop a lot more So really it's a very simple thing You're just quickly throw up and allow you to collaborate for a certain amount of time and then I'll lose your changes The basic mode doesn't save any information in the IDB It doesn't have to because it assumes that you're not going to have any persistent storage So you're not going to be reconnecting to a project later So all participants have to start at the same time and as you stop you're kind of you probably shouldn't come back to the project Because your updates will not be in sync with anybody else. That's doing it. So the database mode we had a Request during development to add my sequel support. So in addition to postgres it supports my sequel Postgres it's going to require a to or higher. It's probably not a big deal because a two and a three have been out for a little while That's just due to the nature of some of the ways that we have formed the sequel statements So if somebody is more interested in that we are then going and making some more functions It'll probably work with older versions is fine So this requires Authentication basic RFCs for our chap and Mac. That's good enough We assume you're probably going to be running these on some sort of internal more safe network anyway So as Chris pointed out all participants start by running the auto analysis in their plug-in or in their specific version of IDA And then launching the plug-in and connecting As Chris pointed out again the auto analysis might be a little different It might vary based on a particular version of IDA. However in practice. We've noticed that they get really close and Just fine for the type of stuff that we're doing anyway So all updates that are posted to the project from any user that's been collaborating that project or archived in the database When a new user connects they get if they join that same project they get all the updates at the point So it's really easy to bring somebody else's IDB all the way back up to speed with that. Everybody else has been working on Regardless of their version of IDA To facilitate kind of joining and disjoining or leaving a project We store a little bit of information in the IDA database. So this is not the SQL database This is the IDA file the database that stores your binary content That information facilitates quickly reconnecting back to the database remembering which project you join to so that you Automatically join the same project if we allowed you to join a different project They would most definitely be out of sync so to speak and the updates wouldn't go across correctly No offline work Right the plug-ins available now servers available tomorrow Okay, so now I'm gonna go through a quick overview of some of the some of the windows look like if you're on a XP or 2000 kind of a machine and then we're gonna get into the demo So now you guys need to make sure you have your plugins installed and you can ping the server and actually it doesn't ping does it but You can trigger the plug-in you can connect today So get that stuff ready again for the late comers There's a little bit of incentive for being the first one that makes an edit to the database that's visible on the screen to the rest of the attendees So after you open the database and auto analysis finish You want to activate the plug-in with the hotkey alt f6? You want to enter the connection information for the server either be a host or IP and then the port which defaults to 5042 Then you're gonna authenticate the Ida creates an MD5 hash of the binary that you've loaded and that's used as a unique indicator of For the project to make sure that when other people join They're going to get a list of projects that can only that are only compatible with whatever binary they've loaded in Ida Right, so that's just kind of a quick safety check that if I've loaded a binary and somebody else wants to collaborate with me If they load a different binary, they're not gonna like hammer me with the updates that don't make sense for my database So then the uners are managed by the server. You're not enter your username enter your authentication This is the box that Chris spoke of where we wanted to mask the password couldn't do that with the STK capability for Ida as far as we know so used regular windows graphics So there's two cases when you join one case is that you were already joined to a project previously and that information was stored in Your IDV in which case you're automatically reconnected to the same project and you automatically get any updates that anybody else has made To the database while you were offline If you have never had a project for this particular Ida database then you can choose to Start a new project or you can choose to join other projects if other ones have been made and the MD5 is used as the uniqueness for that All right, so here's a little example So the we have now connected and it shows that there's one project that as somebody else has previously Created we know that it's not one that we probably made because if we did we would have automatically joined to it Or this could be us using a second instance of Ida to have two computers going for whatever reason So we can use the options button to look at permissions These are the granularity of permissions that were present In what five to right the slides are a little bit dated Five threes now out which you can see that we can choose publish and subscribe permissions as we join the project So another interesting thing we can do Chris was talking about the scenario where we don't want novice users Bucking up a database But we want to drive it and we want to drive it in a manner that they can scroll up and down in their own Database and look at different areas and they can even make changes We just don't want those changes to reflect the things that we're doing up while we're instructing or whatever So there's actually three sets of permissions. We can set a permission on a particular user account It's a novice user We don't want to let them do anything so when they log in the limited on those permissions When you connect the plug-in and get this type of a graphic then you can choose what kind of permissions You'd like for that particular session and then you also set permissions on a per-project basis So all of those things are combined together to figure out whatever your effective permissions are going to be for that particular session I'll add one thing that The permissions list that you see here is actually driven on the server side The server publishes this list of permissions and then this dialog box is populated So if there's stuff you just don't ever want to do you can trim it at the server without having to have everybody rebuild their plug-ins And then you just get the tailored list of permissions published by the server Okay, then in our quest to remove hotkeys So one of the particularly annoying things about the earlier projects that attempt to do this kind of thing like Ida sync Or that you have to remember Consciously remember that there's different hotkeys to do different things So there's a thing that looks a lot like an Ida comment But it's really an Ida sync comment And you have to use a different hotkey to get that window and you have to remember to do that every time you make a comment That you want to share so if users forget then they're not sharing things anymore So all of the commands that we do just subscribe to the notifications that Ida creates You basically work as normal and all the updates are sent so we overload the activation key So we really only have one hotkey for the whole plug-in So if you hit f6 again once it's loaded you get on collaborate specific things So these are the kind of things where you're generating those messages where the plug-in is communicating directly And there's not really an Ida event notification driving those packets going across So you can see that once you're in there you can do their various things like fork a project I'm about to do something crazy I want to fork off my own and not impose my crazy changes on other people that were working on the project You can set a checkpoint which is a way to replay up to date It's kind of like a poor man's undo because we can't do undo yet And then you can manage various things and disconnect Okay Try the demo out All right, so it is demo time and this is Defcon So we realize we're taking our presentation in our own hands here and gambling so What we'll do is I'll fire up and create a project and Start making some changes Tim will then try to come along and Join the project and you can watch his database update over here Once I've created a project that project will be visible to anybody who's going to attempt to join the demo On the the conference wireless. So is there anybody who is actually going to attempt to do that? That's great. So the pool of potential book winners is pretty narrow odds are good If you're already connected you've got to disconnect and reconnect to our project And if you're created a project of your own you're actually slaved to that project So you can't like jump projects You're going to have to actually shut down your IDA database create a brand-new database You have to run the open the binary from scratch right and have it reanalyze Once your tag is being part of a project. There's no jumping projects unless you choose to fork one All right, so first things over here on the left side We have the server menu and it's just a command line little CLI thing It was just easy to throw together There's no reason this couldn't be like a web applet or I can even have a dedicated plug-in or something if you wanted to I suppose But the the actions that are required on the server very minimal another thing that we really wanted to improve upon previous collaboration Projects for IDA are that the project creation is all done from the IDA side from the client side So to speak so the only thing that we really have to do over on this side in order to start collaborating from the database is Create users so that they can authenticate to the database. So we have an ad user. We have list users We can we can show you these are not very flashy. It's all text-based I can scroll up. It doesn't even work very good at this resolution But you can see we have users where permissions and there's kind of a pseudo graphical You can see that for each column they have published and subscribe and so forth So we can list projects we can add the users the ones with the stars will actually Send specific messages out to all connected users so you can get stats on the current status of the projects So we can see who's connected from what IP's ports and then You know how many updates they send of different categories and things like that So okay, so I've got IDA up over here. I tried to jack the font up So it can be seen but not so much that we see the only three lines Basically the ground rules for trying to get the book are Once I create a project you have the information you need to join. It'll be called something like Def Con demo Is it already there Well, I haven't made Def Con demo yet, so clearly somebody made a malicious project and it's Owned the software already Okay, that's an IDA problem.  So, you know, I'm gonna judge that but I'm gonna look at my Screen here Tim's gonna look at his screen over there And you're gonna have to get something to appear It's visible here So if I'm if I'm Scrolled away from this page and you get something in an area of the database You can try to convince me to scroll back to where you tagged it or you can try to catch up to where I happen to be on the screen Okay, so it's got it. You know, we got to see it. I've got to see it I won't see it unless I'm actually a page to it Okay, no no goat seat, please And that'd be pretty good if you could if you could get that eye to comment in there somebody somebody somewhere has that I'm sure Hey, Chris, we have like five minutes left to demo. Okay. All right. So here we go Alt F6 brings it up I've been playing around so it actually cashed my server information Chris with my very secure password Okay, yeah, if you're trying to connect and you don't immediately get a login dialogue Basically, you didn't find a server Okay so there are probably lots of projects in there already and I'm going to create a new one Whose name is now to be revealed so Give me a name The demo one is Is the new project so I'm joined I'm scrolling away. Hopefully my database will live a while so that Tim and I can Scroll around okay All right, so I'll throw a comment in here can you get there Okay, that doesn't count as you getting your name on the screen because I put it there for you I give the address away. Everybody know where I am There you go Eight or four nine seven zero zero Okay, and then the idea is that we try to capture as much state as possible What's that? As Tim scrolls in you see he's already got the comment and that's that's a simple one But we can handle a lot of different types of name changes Okay, so Tim gets the function name change We can you know go crazy go nuts with undefined and whatnot We can reformat you see Tim is reformatting some operands here So it picks up was that that's much more useful that represent yeah We can we so it captures reformatting changes that we can get into the structures window and as I start to create structures Tim's already got the structure layout over there, and I can come in over here build structures And his window follows a change so it really doesn't matter what part of the database you're working in your Changes get pushed over so there's a great billboard for somebody to try to tag Something on the screen What other types of changes? so a really a kind of a nice one is that Moving away from the sort of hotkey metaphor Well, I don't have that many books for all the eyes out there So we still don't have a winner IDC and plug-ins okay when you when you generate actions in Ida using Ida's scripting language IDC or using the SDK Those those things fire event notifications as well So if one user on a project runs a script that modifies the database all the actions that that script performed get pushed out to Everybody else on the project so you can run a script run a plug-in that that modifies the database somehow and Those scripts and plugins take effect across All the rest of user I get a bunch of people frantically trying to learn how to change the name of the structure field Yeah, it's fun. See we could like chat. Okay So maybe only you and I are joined What's that Front I was here front row. I see the comment Look at what Was it I don't know is that somebody's name? Was that Rot-13 social Go back to the beginning of what? The database I should go back where I was before maybe I will Okay, there are bugs so what I don't know Clearly so structures was actually listed as one of the things that are busted on notifications It's actually in your slides. You can scroll back and see that event notifications for structures are kind of broken Okay, so this is a manifestation of that Do you want to show a script or somebody's changing plug-in names? I mean you are the the structure field names Okay, they're just choosing not to use like their name Oh, yeah, so scripts so another thing that You can do since you're not doing specific high keys You can get like by patches or whatever else an IDC script or a plug-in could do so you could actually like You know buy an expensive plug-in or whatever for one machine and then you could use that to drive several instances Okay, so Tim's gonna go to the same address that I'm at and you'll see I'm gonna bring open I does a scripting dialog box Okay, go back and grab some IDC script and run the script over The database, you know that Tim knows scripting window over there two different screens, so I run it He gets all the transformations and I can reform at it Make it a string and we find you know private keys embedded in binaries, and that's kind of cool That's that's a kenshoto binary from last year that some of you may recognize But again, so scripting actions push all your actions push This is by no mean, you know, this is early beta software. So yeah, they're bugs We're happy to hear about them. We will try to respond to them expeditiously We're happy to hear about potential users desired uses and all that kind of stuff So I'm gonna, you know make myself an open target to try to give the book away Okay, and see if Are people pushing changes at all? Yeah, you're just getting busted unicode comments or Whatever that was It's just it's really it's not showing up You see mine, but I don't see yours that's I have an atlas filter on it user permission Is anybody from the audience what did you Who was pushing on I was here for that's okay Front row left Yeah, that works. Okay. Okay. I thought it was your left What's that? I don't know is he on Who's on you're on okay? I think front row left is a winner Okay, so nice job We're gonna wrap up the loose ends on the slides real quick Okay, so again this just talks about scripted scripts and plugins boom drive it with your scripts or your plugins So you don't have to share that out. Here's my script running on your database now. They look the same Okay, pretty easy as I mentioned I like it in a learning environment because you can ask everybody to join in like a read-only mode and You can sit there kind of driving their displays to some extent from a podium or something like that Give a demonstration and they can you know stay with you And then here's some things that we are on the drawing board for future work We're hoping that the API expands to let us catch some of that pre-change notification The better permission interface is actually kind of here we're looking for the project migration Which is actually more or less here. It's just not incorporated yet and again You know if you're one of the people who studies these types of things offline change merging and Algorithms for doing that. We'll entertain it, but not sure how we're going to implement it And I think that's pretty much it. There's our contact information again We're happy to hear from you and we're taking questions from now until we're booted Thanks It's mentioned in the book Its uses are described in the book, but it's you know like Ida's SDK. It's documented in the source code The usage that your question was for usage right and the usage is actually Documented by any other book that that uses Ida So this book documents the usage of the plug-in very well because you don't have to learn special Commands to do anything as you work on Ida if you've connected to the server all of your work is going back and forth anything that your Version of Ida supports Publish capabilities for so that chart That we had earlier Yeah, all open source all we're posted all and again, we're happy to hear of all the potential uses or and so on duck GPL version 2 Any other questions? Alice No Next year all right, I think that's it enjoy the rest of the con


The challenge of the Yocan on King Swiftest and strongest of Eskimo League dogs blade the trail through storm and snow for Sergeant Preston as he meets the challenge of the Yocan Sergeant Preston was typical of the small band of Northwest mounted police who preserved law and order in the new Northwest country Where the greed for wealth and power led to frequent violence and bloodshed but in spite of the odds against them Sergeant Preston and his wonder dog king met that challenge and justice ruled triumphant When Fritz Schoaks walked into the gold nugget bar in Dawson City The cause of their hoops and hollers trailed calmly and big Fritz is waiting a dog about twice as long as he was high Fritz's doctrine they don't decide his master's chairs long-fronted nose resting on the tiny leg stretched in front of him Still got that funny looking dog Fritz Not for this time. Husky would take him for a sausage and swallow Laugh laugh if you like schnitzel is the best friend I ever had you don't know him That's why you laugh What's that you got on it? Did you knit him a sweater? No, no, he ain't got long hair like these dogs from the North and he just fits into my wool stocking Mid-pulse for a speed to come out Sandy claws left him and that stalking nobody they will buy a thing like that Go on laugh laugh, but nothing you can say will change, but I know that schnitzel. It's my best friend We wanted to see something funny And this fridge shows Fritz is a sergeant president Northwest mounted hello, how do you do friends?  Have you been in Dawson very long just a few weeks I've not made friends.  Well, you mustn't mind a little joking I'll do it all the more if they see that it bothers you have you a claim near here Oh, yeah, I mean I've been lucky a bit. I assure you what I took out today.  Hey, will you look at this? When did you hit it Fritz? I think you go. Well, will you look at that? Hey fellas? Yeah, Pritz has got some high Maybe now you won't laugh, huh? You better put those away Fritz. I'll say you better Ain't you heard about all the robberies around here lately? No, I ain't heard nothing. Well, he's right, Fritz There've been three robberies in the last month. That's why I had to cut my trip north and come back here They got me two weeks ago took two bags of nuggets Have you found out anything yet, sir? No Frank? I haven't see there's not much to work on you didn't see their faces We have no clues. Oh, I'm not afraid. I'm a good shot and schnitzel tells me when to get my gun ready Maybe it's better. I get some sleep. I'll walk along with you friends. Come on King. Yeah, come schnitzel Yeah, I carry you He can't walk so fast like your dog such Hey Pete want to talk to you. Yeah Come on here in the back room. What's wrong Frank? Did you see the nuggets where Schultz was carrying? Yeah He said it was one day's take You know where he's claiming it. Yeah somewhere near Bear Creek. I Passed him twice near the bend of the river going that way if we could catch him coming home And have a boat waiting. Yeah, but Sergeant Preston's in town Can't take a chance. I was the first one to report being robbed wasn't a He won't I'm afraid of that dog of his. He's so good at trailing.   I might step on you Today we take out more good than any other time. You know, maybe we should stop and have a little celebration Huh? Oh, it's too bad schnitzel. You can't take a little drink now and then to warm up your cold inside I But some adamantry schnitzel. Why are you acting so good? I got him Pete.   You should have killed him. Now he's around here somewhere Turn my boot. Hey look Frank. Here's a fox hole. I think you went down there. That's just what he did See those tracks Come out of there you You can't get him out of there without digging. Oh, we can't waste any time Get that gold.  Quit following me All the time I cannot make him go away. Well, that's schnitzel What's the matter fellow?  Oh funny. Maybe something's wrong with Fritz You think so too, don't you King? Let's follow him Andre and see what's wrong Yes, I wish I could carry him, but he has to lead his king so far ahead He's found something and there is man lying there looks like Fritz. Oh, right. That is Fritz Head over the head Fritz what happened Somebody hit me My gold that's a nasty crack on the head. We're not very far from my cabin. We could take him there Good idea Andre. Yeah, try this around his head. We'll have a look around a king Our friends your head's bandaged are you'd better lie down for a while dunk a shame sergeant Now maybe you could look at schnitzel's leg, huh? Those low-lifes hurt him. All right schnitzel.  It's better. Hmm that funny sweater. He'd hide his shoulder. Well, they must have kicked him the shoulder Yes, Fritz. We better take that stocking or whatever it is often. Yeah. Yeah. Yeah. Come come schnitzel.  His tracks let down a foxhole. Yes.  He knows to retreat is sometimes better than to go What isn't this here? What? Something fell out from his coat when I took it off. Well, let's see that It is torn from muckluck. No, it looks like it. Oh, what is this this this? Muckluck or muckluck the boot made out of hide with a fur inside Schnitzel must have torn this off the boot of the man who hit you Fritz. Yeah, but how did it get in his sweater? Probably caught in the sweater and he went down that foxhole. He had to scrape along on his stomach Very gory. Give us glue. Yes, Andre. This should make it easier to find them. There's no way of trailing them They had a bolt waiting. Ah schnitzel Sure a little dog. Yeah, but maybe putty soon. We'll be doing the laughing Fritz and Preston sat at a table in the gold nugget bar schnitzel and king lay quietly beside their master's chair Sergeant We seem not suspicious Maybe that robber won't wear that boot. I have patience for it. I think bull schnitzel and king will know him What do we wear is that boot or not?  Come on Frank. Let's get out of here. Not so fast Pete Frank did you tear your boot while you were out of town? Yeah What's that got to do with this piece of hide I have here in my pocket? I think we'll find it just fits all in your muck luck. Maybe you'd like to have it to patch it up Pete watch him King Maybe you can explain Frank This piece was freshly torn from your boot three days ago while you were out of town You're under arrest Frank for the robbery of Fritz Schultz. I'm holding both you and Pete until we search your cabin I'm out of here both of you watch him King A week later old Fritz Schultz was having his evening drink Sergeant Preston smiled as he joined the friendly group around the old man as Fritz drinks for the house for everybody Barney drinks for the house Hey, did you say they use dogs like schnitzel for badger hunting? Yeah, sure They're the best badger hunters in the world, but this time schnitzel catch two scum That's right. He caught Frank and Pete. Did you get back on your gold fridge? Yeah? Yeah, yeah, thanks to Sergeant Preston and King Ah that King He saved my schnitzel's life when Ed Loper tried to shoot him. Chum tried it at God. Yeah, here's the drinks I'd like to propose a toast to schnitzel a smart little dog with a lot of courage and also the king a big dog bit even more These copyrighted dramas originate in the studios of WXYZ Detroit and all characters names places and incident used are fictitious They're sent to you each week at the same time and reach you from our transcription studios you holder speaking. This is the Michigan radio network


Human rights activist and senior advocate of Nigeria, Fermi Faluna, wants the media and Nigerians to stop calling terrorists bandits. He made an appeal in his reaction to the federal government's reluctance to declare the criminal groups kidnapping persons in Northern Nigeria as terrorists. In his statement, Faluna referenced the Chibok kidnappers who were quickly branded terrorists as well as iPub. He wants the government to do the same about killers and kidnappers in the Northwest. His call is coming less than a week after the Senate urged President Mohammad Buhari to declare bandits as terrorists.